SSH注意点

1.在学hibernate的时候,我们知道当session.get或load出来的对象对其进行修改操作,是不需要手动操作session.update,数据就会同步到数据库,但是为何在ssh整合的时候,在action中get或load出来一个数据后对其内容进行操作,是不会自动同步到数据库?

原因:

要让hibernate自动更新数据的前提是:1.session没有关闭,即自动更新的对象是持久化对象  2.存在于事务情况下

在这里,第一个条件是满足的(由于在web.xml中配置了OpenSessionInViewFilter过滤器,所以当请求开始的时候session就打开了,当页面显示数据的时候session关闭[因为懒加载所以会后关闭])

但是第二个条件是没有满足的,因为spring将事务注册在了service层,而acrtion层是没有事务的,所以在action层get或load对象后对其进行数据的修改,hibernate是不会自动同步到数据库的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值