为什么要进行JPQL查询
Select new Foo(X,Y) from X join X.y as Y Where ...
生成多个sql?主要选择1,X和Y各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。