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

是的,您可以使用纯 JPA2 来做到这一点。

尝试以下文章(CriteriaBuilder 的构造部分)

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

于 2012-03-04T20:23:15.203 回答