可以在一个 JPQL 查询中传递多个命名实体图吗?

Multiple named entity graphs can be passed in one JPQL query?

我即将使用 JPA 2.1 的新功能。其中之一是命名实体图。

如果我的实体有两个图,我可以在查询中使用它们吗?

EntityGraph graph1 = this.em.getEntityGraph("graph.Order.items");
EntityGraph graph2 = this.em.getEntityGraph("graph.Order.address");

例如,如下所示

Map hints = new HashMap();
hints.put("javax.persistence.fetchgraph", graph1);
hints.put("javax.persistence.fetchgraph", graph2);

Order order = this.em.find(Order.class, orderId, hints);

entityManager.setHint("javax.persistence.fetchgraph", graph1);
entityManager.setHint("javax.persistence.fetchgraph", graph2);

原因是我其他查询可能只需要定义图中的一个。

我已经测试过了。

如果分配了多个图形,将应用最后一个。