java - Hibernate未调用update自动提交
高洛峰
高洛峰 2017-04-17 14:36:34
0
1
259

场景时在SSH2下的Service层。

某service中

java... // 查询事件模板 CommonEvent event = commonEventDao.find(code); // 模版内容是"${name}登录" String template = event.getTemplate(); template = template.replaceAll("\\$\\{name\\}", "admin"); event.setTemplate(template); // 其他service的调用 ...

上边DAO的查询:

javapublic CommonEvent find(String code) { return (CommonEvent) sessionFactory0.getCurrentSession().get(CommonEvent.class, code); }

然后service结束后,数据库中的event纪录中的template字段从${name}登录变成了admin登录,原因在哪里呢?

如果在find查询时使用session.evict(event)将该对象逐出,则不会有脏写的问题。

如果不使用evict方法该怎么处理?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all (1)
阿神

new一个CommonEvent类型的对象event2,把event的属性值copy一份过来,repalceAll后的内容放到event2里去。应该是当前的逻辑代码中,event还是持久态,所以最后提交事务后,把event的内容也更新到数据库了。

    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!