2

私はこれと同様の質問をしましたが、私は良い詳細を提供しなかったので、私はより良い詳細で質問を再質問しています。

次のような2つのテーブルがあります。

Table1
    A
    B
    C
    PK

Table2
    D
    E
    F
    PK

これらの2つのテーブルには、次のようにJPAエンティティが関連付けられています(簡潔にするために注釈は省略しています)。

Entity1
    {
        String a;
        String b;
        String c;
        int PK;
    }
Entity2
    {
        String d;
        String e;
        String f;
        int PK;
    }

また、次のように使用している(どのテーブルにもマップされていない)単純なPOJOがあります。

MyPOJO
    {
        String x;
        String y;
        String z;
    }

現在、JPAのネイティブSQL機能を使用してList型の結果セットを返していますが、クエリは次のようになります。

SELECT A as x, D as y, F as z from Table1, Table2 WHERE Table1.PK = Table2.PK

私の質問は、CriteriaBuilderを使用してこれを行うことができますか?もしそうなら、どのように?ネイティブクエリを避けようとしています。違いがあれば、私はOpenJPAを使用しています。

4

1 に答える 1

2

Yes, you can do that using pure JPA2.

Try following article (section CriteriaBuilder's construct)

http://www.objectdb.com/java/jpa/query/jpql/select#SELECT_in_Criteria_Queries_

于 2012-03-04T20:23:15.203 に答える