下面就针对这个问题分为三个方面
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>@OneToMany(cascadeType={cascadeType.All},fetch=FetchType.LAZY)
<many-to-one name="student"cascade="save-update"class="com.jczb.domain.student"not-null="true"lazy="false" />
这种情况一般出现在树形的组织结构中,例如: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表示子对象和父对象的生命周期完全是一样的,完全是由父对象来控制的,所以这样才最贴近需求。
原文:http://www.cnblogs.com/qingzhi/p/5832028.html