映射方法
|
|
<hibernate-mapping>
|
<class
name="com.lavasoft.dx._n_n.Personnn" table="PERSON_nn">
|
<id
name="personid">
|
<generator
class="identity"/>
|
</id>
|
<property
name="name"/>
|
<property
name="age"/>
|
<!--
映射集合属性,join_1ntab
是
连接表表名-->
|
<set
name="addresses"
|
table="join_nn"
|
>
|
<!--
“column="personid"
”
确定PERSON_1ntab
表关联到连接表的外键列名-->
|
<key
column="personid"/>
|
<!--
“column="addressid"
”
关联PERSON_1ntab
表的Address1ntab
对
象的id
在连接表中的列名-->
|
<many-to-many
|
column="addressid"
|
class="com.lavasoft.dx._n_n.Addressnn"/>
|
</set>
|
</class>
|
</hibernate-mapping>
|
|
<hibernate-mapping>
|
<class
name="com.lavasoft.dx._n_n.Addressnn" table="ADDRESS_nn">
|
<id
name="addressid">
|
<generator
class="identity"/>
|
</id>
|
<property
name="addressdetail"/>
|
</class>
|
</hibernate-mapping>
|
|
|
测试方法
|
|
public class Test_nn {
|
public static void
main(String[] args){
|
Addressnn
add1=new Addressnn();
|
Addressnn
add2=new Addressnn();
|
Addressnn
add3=new Addressnn();
|
Personnn
p1=new Personnn();
|
Personnn
p2=new Personnn();
|
|
add1.setAddressdetail("
郑州市经三路");
|
add2.setAddressdetail("
合肥市宿州路");
|
add3.setAddressdetail("
北京市长安路");
|
p1.setName("wang");
|
p1.setAge(30);
|
p2.setName("lee");
|
p2.setAge(50);
|
|
p1.getAddresses().add(add1);
|
p1.getAddresses().add(add2);
|
p2.getAddresses().add(add2);
|
p2.getAddresses().add(add3);
|
|
Session
session= HibernateUtil.getCurrentSession();
|
Transaction
tx=session.beginTransaction();
|
session.save(add1);
|
session.save(add2);
|
session.save(add3);
|
session.save(p1);
|
session.save(p2);
|
tx.commit();
|
HibernateUtil.closeSession();
|
}
|
}
|
Hibernate 多对多单向关联
最新推荐文章于 2025-07-28 23:27:29 发布
