后端应用技术Java 杂谈程序员

持久层框架hibernate遇到的小问题

2018-10-19  本文已影响2人  q松_松q

Hibernate未进行save操作事务提交后DB却更新了,今天工作时,遇到了这个问题,很有意思,但原因很简单。

详细叙述问题

原因

Criteria criteria = getSession()
                .createCriteria(DemoModel.class)
                .add(Restrictions.eq("xId", xId))
//              .setLockMode(LockMode.UPGRADE_NOWAIT)
                .setMaxResults(1);

运行结果没有更新,那是肯定的,因为不上更新锁,即便是save了,也不会更新。

总结

之前我只形而上学知道持久层框架是有一级缓存和二级缓存的,但随着使用memcache、redis等缓存,就忽略了这些。具体想了解的话,搜索hibernate(或mybatis)一级缓存、二级缓存,这里就不详细解释了。

上一篇下一篇

猜你喜欢

热点阅读