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;
}
本文介绍了Hibernate中如何通过fetch属性设置关联对象加载策略。在一对多或多对一关系中,通常将多的一方设为lazy加载,而一的一方设为eager加载。通过示例代码展示了具体配置方法。
1032

被折叠的 条评论
为什么被折叠?



