hibernate(四)一对多单向、多对一双向、自身双向关联
?经过前几篇文章的简略总结,主要认识了关于hibernate的基本认识,顺便认识了hibernate的简单的一个原理。具体参见
1)一对多双向关联
private Set<Score> scores=new HashSet<Score>();
public void set setScores(Score scores){
this.scores=scores;
}
public Set<Score> getScores(){
return scores;
}
private Student student;
public void setStudent(Student student){
this.student=student;
}
public Student getStudent(){
return student;
}
<set name="scores" cascade="sava-update">
<key column="StudentID />
<one-to-many class="com.jczb.domain" />
</set>
<many-to-one name="student" cascade="save-update" />
<set name="scores" cascade="sava-update" inverse="true">
<key column="StudentID />
<one-to-many class="com.jczb.domain" />
</set>
2)多对一单向关联
<many-to-one name="student"
cascade="save-update"
class="com.jczb.domain.student"
not-null="true"
lazy="false"
/>
3)一对多双向自身关联
这种情况一般出现在树形的组织结构中,例如:organization这个实体,就可能出现父子结构这种关联关系。道理和第一个都是一样的,由此咱们直接看对应的xml文件即可。
<set name="organizations"
cascade="all-delete-orphan"
inverse="true">
<key column="ParentID" />
<one-to-many class="com.jczb.domain" />
</set>
i:将cascade属性设置为all-delete-orphan表示子对象和父对象的生命周期完全是一样的,完全是由父对象来控制的,所以这样才最贴近需求。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。