java-如何对Entity-Bean @OneToMany关系应用默认限制
作者:互联网
我有两个实体模型,客户模型和订单模型.每个客户可能有数千个订单.我在这两个实体之间有一个OneToMany和ManyToOne关系.
如何将这种关系的列表限制为仅前10个订单?
是否可以将“ WHERE”条件用作@OneToMany上的属性?
喜欢:
@OneToMany("Where Order.orderNo > 100")
我的问题是,当实体管理器创建的对象的所有订单都在内存中创建时.
延迟加载无法解决我的问题,因为我需要在默认构造中获得前10个订单.
解决方法:
I mean if it is possible to apply ‘WHERE’ condition as an attribute on @OneToMany or not?
不适用于标准JPA.但是某些提供商对此进行了扩展.例如,Hibernate确实具有@Where批注:
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@Where(clause="1=1")
public Set<Ticket> getTickets() {
return tickets;
}
参考文献
>休眠注释参考指南
> 2.4.6. Collection related annotations
标签:orm,jpa,ejb-3-0,one-to-many,java 来源: https://codeday.me/bug/20191023/1916348.html