hibernate 多对多关联的实现

 

a)java代码

 

public class DefaultFile {

private Set tagSet;

………………………………

/**

*

* @author weip

* @return

* @time 2006-1-13 13:48:29

*

* @hibernate.set lazy="true" cascade="save-update" table="FileTagRel"

* @hibernate.collection-key column="fileId"

* @hibernate.collection-many-to-many class="mofile.share.domain.FileTag"

*   column="tagId"

*/

public Set getTagSet() {

return tagSet;

}

          …………………………...

}

 

public class DefaultUser{

private Set allFileSet;

…………………………………..

/**

*

* @author weip

* @return

* @time 2006-1-13 13:18:35

*

* @hibernate.set

*   lazy="true"

*    cascade="all-delete-orphan"

*  @hibernate.collection-key

       *    column="userId"

*  @hibernate.collection-one-to-many             

*             class="mofile.share.domain.DefaultFile"

 */

public Set getAllFileSet() {

return allFileSet;

}

……………………………………...

 

}

 

b)映射文件

DefaultFile.hbm.xml

…………………..

<set

name="tagSet"

table="FileTagRel"

lazy="true"

cascade="all"

sort="unsorted"

>

 

<key

column="fileId"

>

</key>

 

<many-to-many

class="mofile.share.domain.FileTag"

column="tagId"

outer-join="auto"

/>

 

</set>

…………………..

 

 

 

FileTag.hbm.xml

…………………..

<set

name="fileSet"

table="FileTagRel"

lazy="true"

cascade="none"

sort="unsorted"

>

 

<key

column="tagId"

>

</key>

 

<many-to-many

class="mofile.share.domain.DefaultFile"

column="fileId"

outer-join="auto"

/>

 

</set>

 

…………………..

 

c)数据库

 

4Dao

public void saveObject(Object o) {

 

getHibernateTemplate().saveOrUpdate(o);

 

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值