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

标签 hibernate jpa jpql

我即将使用 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);

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

最佳答案

我已经测试过了。

如果已分配多个图表,则将应用最后一个图表。

关于hibernate - 多个命名实体图可以在一个 JPQL 查询中传递吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31507578/

相关文章:

java - 什么是 Java 中的 IncompatibleClassChangeError 异常?

java - 在保留复杂实体的同时调试实体管理器

java - 在 hibernate 中使用延迟加载时按需需要关系

session - EntityManager.getReference 是否总是在 session 中返回相同的实例?

java - 如何在条件查询中的非实体字段上创建orderby?

java - Spring Data JPA - findAllBy 查询检查是否为空?

java - JPA/Hibernate flatten mapping(只想得到孙子,跳过 child )

java - 在 hibernate 中从 session.createQuery 获取超过 1 个对象

java - 未知的抽象模式类型

mysql - JPA 将参数作为 Set 传递