hibernate剔除一对多关联关系时注意的地方

hibernate删除一对多关联关系时注意的地方patient.hbm.xml中many-to-one nameperson fetchselect

hibernate删除一对多关联关系时注意的地方
patient.hbm.xml中

<many-to-one name="person" fetch="select" >            <column name="person_id" /></many-to-one>

person.hbm.xml中
<set name="patients" table="patient"   cascade="all" inverse="true" lazy="false"><key column="person_id"/><one-to-many name="code">public class Patient implements Serializable{private int id;private Person person;public Patient() {// TODO Auto-generated constructor stub}//一个空的和一个加了全部属性的构造函数,这两个构造函数绝对不能省public Patient(int id,Person person) {this.id = id;this.person = person;}}


Person.java
public class Person implements Serializable{private int id;private Set<Patient> patients=new HashSet<Patient>();//同上,两个构造函数不能省}


做删除时,一定要加flush要不然不成功:
this.getHibernateTemplate().delete((Patient)this.getHibernateTemplate().get(Patient.class, id));this.getHibernateTemplate().flush();

在控制台中测试时,这样就成功了:
Patient p = null;p = (Patient) session.load(Patient.class, 18);session.delete(p);