JPQL中的新对象并选择

时间:2011-07-11 12:38:59

标签: hibernate jpa jpql

为什么要进行JPQL查询

Select new Foo(X,Y) from X join X.y as Y Where ...

生成多个sql?主要选择1,X和Y各1?

1 个答案:

答案 0 :(得分:3)

我们猜猜看。一个查询选择X,Y的ID,然后1查询X以加载其他字段(在Foo的构造函数中),然后1查询Y以加载其他字段(当在Foo的构造函数中访问时)。

显然你可以轻松做到

SELECT new Foo(x.id, x.field2, x.field3, y.id, y.field2) FROM X join X.y as Y ...

那将(使用DataNucleus JPA)执行单个SELECT。