我的父类(Timeslot)中有一个像这样的@onetomany关系的EJB:
@OneToMany(mappedBy = "rsTimeslots")
private List<RsEvents> rsEventsList;
我还有一个获取rsEventList的函数:
public void setRsEventsList(List<RsEvents> rsEventsList) {
this.rsEventsList = rsEventsList;
}
到目前为止,这是所有自动生成的。在我的视图层代码中,我可以获得一个时间段对象并执行类似timeslot.getRsEventList()
的操作并获取此时隙的所有子项。现在我需要根据标准限制该列表。例如,我只希望事件是这个时间段的子节点,状态为1.有没有办法用注释做到这一点?
答案 0 :(得分:1)
不在JPA。
通常,您将使用JPQL或条件API为此执行查询。
有些JPA提供程序提供了限制关系的方法,但我认为您最好使用查询,或者在类上提供get / filter方法,只访问列表并对其进行过滤(即getStatus1Events())。
对于有关映射标准的EclipseLink示例,请参阅 http://wiki.eclipse.org/EclipseLink/Examples/JPA/MappingSelectionCriteria