小编Jim*_*Cox的帖子

在JPA 2.1中使用实体图时,有没有一种方法可以在有子图的子图时使用元模型?

例如,假设Customer实体具有一组订单.每个订单都有一组OrderItems.

我可以使用命名属性执行此操作:

EntityGraph<Customer> eg = em.createEntityGraph(Customer.class);
Subgraph<Order> egChild = eg.addSubgraph("orders");
egChild.addAttributeNodes("orderItems");
Run Code Online (Sandbox Code Playgroud)

如果我只对Orders感兴趣,我可以使用元模型执行此操作:

EntityGraph<Customer> eg = em.createEntityGraph(Customer.class);
eg.addSubgraph(Customer_.orders);
Run Code Online (Sandbox Code Playgroud)

但是,如果我只想使用元模型的整个图形,我不能这样做:

EntityGraph<Customer> eg = em.createEntityGraph(Customer.class);
Subgraph<Set<Order>> egChild = eg.addSubgraph(Customer_.orders);
egChild.addAttributeNodes(Order_.orderItems);
Run Code Online (Sandbox Code Playgroud)

问题似乎是这样的

eg.addSubgraph(Customer_.orders)
Run Code Online (Sandbox Code Playgroud)

返回一个

Subgraph<Set<Order>> 
Run Code Online (Sandbox Code Playgroud)

而不是一个

Subgraph<Order>
Run Code Online (Sandbox Code Playgroud)

这是元模型/实体图的缺点,还是我遗漏了什么?

hibernate jpa hibernate-criteria

5
推荐指数
1
解决办法
487
查看次数

标签 统计

hibernate ×1

hibernate-criteria ×1

jpa ×1