SSH框架学习(十一、Hibernate一对多)

hbm文件配置

<many-to-one name="user" class="User" column="fk_user_id" not-null="true" />

		<set name="userInfo" cascade="delete" inverse="true">
			<key column="fk_user_id" />
			<one-to-many class="UserInfo" />
		</set>

one的这一端,cascade建议设置为delete,这样,当one这一端删除时,会请除many端的垃圾数据。不建议用save-update,这样避免一些不必要的更新操作的出现。缺点是,类似

user.setEmail("email");
userInfo.setTel("tel");
user.getUserInfo().add(userInfo);
userDAO.save(user);
这样的用法无法使用。


新增方法

Long id=(Long)userDAO.save(user);
user=userDAO.get(id);
userInfo.setUser(user);	
userInfoDAO.save(userInfo);
这是比较稳妥的方法,

userDAO.save(user);
userInfo.setUser(user);	
userInfoDAO.save(userInfo);
上面这种方法貌似也行,而且节省一条查询语句,因为在debug的时候,第一行完成以后,user就id就已经获得值了,但是没有仔细认真的测试过,也没找到相关说明,是否可以这样做,不确定。



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值