Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JPA中使用注释我可以用where子句限制子记录吗?_Jpa - Fatal编程技术网

在JPA中使用注释我可以用where子句限制子记录吗?

在JPA中使用注释我可以用where子句限制子记录吗?,jpa,Jpa,我的父类(时隙)中有一个具有@onetomany关系的EJB: @OneToMany(mappedBy=“rsTimeslots”) 私有列表rsEventsList; 我还有一个获取rsEventList的函数: public void setRsEventsList(List<RsEvents> rsEventsList) { this.rsEventsList = rsEventsList; } public void setRsEventsList(列表rsEve

我的父类(时隙)中有一个具有@onetomany关系的EJB:

@OneToMany(mappedBy=“rsTimeslots”)
私有列表rsEventsList;
我还有一个获取rsEventList的函数:

public void setRsEventsList(List<RsEvents> rsEventsList) {
    this.rsEventsList = rsEventsList;
}
public void setRsEventsList(列表rsEventsList){
this.rsEventsList=rsEventsList;
}
到目前为止,这些都是自动生成的。在我的视图层代码中,我可以获取一个时隙对象,执行类似于
timeslot.getRsEventList()的操作,并获取该时隙的所有子项。现在我需要根据一个标准来限制这个列表。例如,我只希望事件是此时间段的子事件,状态为1。有没有一种方法可以通过注释实现这一点

不在JPA中

通常,您将使用JPQL或CriteriaAPI为此执行查询

一些JPA提供程序确实提供了限制关系的方法,但我认为最好使用查询,或者在类上提供一个get/filter方法,只访问列表并对其进行过滤(即getStatus1Events())

有关在映射上具有标准的EclipseLink示例,请参见,

Arg。我很害怕。谢谢你的快速回复!在实体bean中,我可以修改get来删除对象吗?这是件坏事吗<代码>公共列表getRsEventsList(){//删除没有状态的任何事件=1 List eventslist=new ArrayList();for(RsEvents事件:rsEventsList){如果(event.getStatus()=(long)1){eventList.add(event);}返回eventList;}
接受的答案是从2011年5月开始的。2014年8月的JPA 2.1是否仍然如此?如果有人对此帖子有更新的答案,请发布。谢谢
public void setRsEventsList(List<RsEvents> rsEventsList) {
    this.rsEventsList = rsEventsList;
}