我有两个Class.College和Student,如下所示
Class College{
int id;
@OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL })
@Fetch(value = FetchMode.SELECT)
@JoinColumn(name = "ID")
List<Student> std;
public void isElligible(){
// Some code here
}
}
我将这两个对象持久化到相应的表。现在我想只有当isElligible返回true时才将数据保存到STUDENT表。我怎么能把这个条件? 我可以使用过滤器吗?
答案 0 :(得分:0)
首先,你的映射对我来说似乎有些偏差。也许它应该是这样的:
class College {
// ...
@OneToMany(mappedBy="college")
List<Student> students;
// ...
}
class Student {
// ...
@ManyToOne(columnName="college_id", ...)
College college;
// ...
}
其次,关于学生的条件性持久性,应该在持久层(或业务逻辑层,如果有的话)中处理,而不是模型层(基础实体的定义)。