我向此提出了类似的问题,但我没有提供详细信息,所以我会更详细地再问这个问题。
我有两个看起来像这样的表:
Table1
A
B
C
PK
Table2
D
E
F
PK
这两个表有与之关联的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,如果这有任何区别。
答案 0 :(得分:2)
是的,你可以使用纯JPA 2来做到这一点。
尝试以下文章(CriteriaBuilder构造部分)
http://www.objectdb.com/java/jpa/query/jpql/select#SELECT_in_Criteria_Queries_