<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping package="edu.cau">
<class name="Girl" table="girl">
<id
name="Email"
type="java.lang.String"
column="Email"
>
<generator class="uuid.hex" />
</id>
<property
column="Gender"
length="255"
name="Gender"
type="string"
/>
<property
column="PinCode"
length="7"
name="PinCode"
type="integer"
/>
<set
inverse="true"
lazy="false"
name="Babies"
cascade="all"
>
<key>
<column name="Email" />
</key>
<one-to-many class="edu.cau.Baby" />
</set>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping package="edu.cau">
<class name="Baby" table="baby">
<composite-id>
<key-property
column="name"
length="255"
name="name"
type="string"
/>
<key-property
column="gender"
name="Gender"
type="string"
/>
</composite-id>
<many-to-one
cascade="all"
class="edu.cau.Girl"
column="email"
name="girl"
/>
</class>
</hibernate-mapping>
**********************************************************
如果要想把新create的一个Girl加上她的2个Baby,那么两个方法 .
第2种方法好像可以,但是第1种不知道为什么不可以。
***********************************************************
Girl girl=new Girl()
Baby b1 =new Baby()
..
Set set=new MapSet();
set.add(b1);
set.add(b2);
girl.setBabies(set);
GirlDAO.save(girl);
////////////////////////////////////////////////////
第2种
Girl girl=new Girl()
girl.setGender("female");
GirlDAO.save(girl);
//save()以后,这个时候girl自动生成了自己的Id
b1.setGirl(girl);
b2.setGirl(girl);
BabyDAO.save(b1);
BabyDAO.save(b2);
/////////////////////////////////////////////////////////////////
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=83705