hibernate中进行CUD操作时候用cascade设定持久化操作,而R操作用fetch设定持久化操作。
在一对多与多对一关联操作中,多的一方进行get操作时,默认采取eager策略,可以利用fetch设定操作为lazy:
相反的,一的一方进行get操作时,默认采取lazy策略,可以利用fetch设定操作为eager:
在一对多与多对一关联操作中,多的一方进行get操作时,默认采取eager策略,可以利用fetch设定操作为lazy:
@ManyToOne(cascade={CascadeType.ALL},
fetch=FetchType.LAZY
)
@JoinColumn(name="t_groupid")
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
相反的,一的一方进行get操作时,默认采取lazy策略,可以利用fetch设定操作为eager:
@OneToMany(mappedBy="group",cascade={CascadeType.ALL},
fetch=FetchType.EAGER
)
public Set<User> getUsers() {
return users;
}
public void setUsers(Set<User> users) {
this.users = users;
}