2013-04-08 79 views
8

我有几个场景,其中服务器使用JPA从数据库查询对象,然后通过Web服务将对象发送到客户端。
由于客户期望在这种情况下的完整图,我想要重载加载延迟的集合,并可能需要批量加载(用于性能)。 在JPA(或EclipseLink)中是否有一种方法以通用方式重写查询(不重写查询)并请求完整图?强制JPA查询返回所有集合/字段

回答

9

10.1.3。 Fetch Joins

JPQL查询可能会指定一个或多个联接读取声明,这些声明允许查询指定返回实例中的哪些字段将被预取。
SELECT x FROM Magazine x join fetch x.articles WHERE x.title ='JDJ'
上面的查询返回Magazine实例并确保文章字段已经在返回的实例中被提取。
多个字段可以在分开加入取声明来指定:
选择x FROM杂志X加入取x.articles加入取x.authors WHERE x.title = 'JDJ'

来源:http://docs.oracle.com/cd/E13189_01/kodo/docs40/full/html/ejb3_overview_query.html#ejb3_overview_join_fetch