数据库中存在两个关联表:书本信息表 bookInfo ; 书本类型表 bookType
现在要实现的业务是:
增加一本书,但是书本的类型可以是数据库里已经存在的,也可以是刚刚新添加的书本类型!
那么,首先我就可以在相应的两个实体映射文件中作如何配置!
实体:bookType中
......省略
<set name="bookinfos" inverse="false" cascade="merge">//这里设置
<!-- 关系映射时,需要指定由哪个列进行关联 -->
<key>
<!-- 这里的列是“多方”的外键 -->
<column name="bootypeid" not-null="true" />
</key>
<!-- 配置要关联的“多方”的对象 -->
<one-to-many class="com.hibernate.bean.Bookinfo" />
</set>
......省略
实体:bookInfo中
......省略
<many-to-one name="booktype" class="com.hibernate.bean.Booktype" fetch="select">
<column name="bootypeid" not-null="true" />
</many-to-one>
......省略
还有最重要的一点:
注意:
// 有一方关联多方时,需要同时进行双向关联
booktype.getBookinfos().add(bookinfo);
bookinfo.setBooktype(booktype);
然后通过执行:
bookTypeDao.updateBookType(bookType);
就可以实现该业务了!
本文介绍在Hibernate框架下如何实现两个实体间的双向关联配置,具体包括书本信息与书本类型的多对一及一对多关系映射,以及如何通过更新操作完成新增书籍及其类型的业务需求。
5194

被折叠的 条评论
为什么被折叠?



