Hibernate一对多配置测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate一对多配置测试相关的知识,希望对你有一定的参考价值。
多端 <many-to-one name="itrusUser" column="USER_ID2" class="ItrusUser" fetch="join" /> 一端 <set name="certs" cascade="delete" inverse="false" order-by="id"> <key column="USER_ID1" /> <one-to-many class="ItrusCert" /> </set>
测试代码
@Test public void addUser() { ItrusUser user = new ItrusUser(); user.setPin("1234"); user.setPinCreateTime(new Date()); user.setPinStatus("可用"); user.setUserAddress("北京某某某处"); user.setUserCreateTime(new Date()); user.setUserEmail("[email protected]"); user.setUserIdNo("1231*******4235"); user.setUserName("测试用户001"); user.setUserPhone("123123123"); user.setUserPostcode("100010"); user.setUserStatus("valid"); user.setUserSurName("没有"); ItrusCert itrus= new ItrusCert(); commonDAO.save(itrus); Set<ItrusCert> i = new HashSet<ItrusCert>(); i.add(itrus); user.setCerts(i); commonDAO.save(user); } @Test public void addUser1() { ItrusUser user = new ItrusUser(); user.setPin("1234"); user.setPinCreateTime(new Date()); user.setPinStatus("可用"); user.setUserAddress("北京某某某处"); user.setUserCreateTime(new Date()); user.setUserEmail("[email protected]"); user.setUserIdNo("1231*******4235"); user.setUserName("测试用户001"); user.setUserPhone("123123123"); user.setUserPostcode("100010"); user.setUserStatus("valid"); user.setUserSurName("没有"); ItrusCert itrus= new ItrusCert(); commonDAO.save(user); itrus.setItrusUser(user); commonDAO.save(itrus); }
说明 在多端配置的是user_id2 一端配置的是user_id1 adduser方法 是先保存多端数据然后保存一端数据,最后 使用的是 一端设置的外键值 user_id1 赋值, adduser1方法 是反之保存的,所以是最后保存的多端外键值user_id2 记载一下
以上是关于Hibernate一对多配置测试的主要内容,如果未能解决你的问题,请参考以下文章
三大框架 之 Hibernate查询(一对多多对多查询关系)
Hibernate课程 初探一对多映射4-3 测试--信息查询
Hibernate课程 初探一对多映射3-3 单向多对一的测试
Hibernate 映射文件的配置 核心文件的配置 一对一 一对多 多对多 hibernate实现分页 Hibernate中session的关闭问题总结