最近在弄一个项目,用的架构是spring+hibernate+ibatis+freemaker。
引入了乐观锁来控制并发(其实项目小,没必要用的),呵呵,就当是杀鸡用牛刀吧……但是期间遇到了存储异常,表示很久都没解决,主要是之前都是用的是spring HibernateTemplate来处理的增删改查,都不用理会这些提交后要flush的操作。然后程序也不报错,找了很久,研究了下报错的异常信息,发现有一条是org.hibernate.engine.internal.Versioning.increment(Versioning.java:130), 后来差了工具才意识到问题所在,就是在于那个乐观锁字段 OPTIMISTIC_LOCK_VERSION (int类型),因为之前测试数据没设具体值,为null,然后hibernate事物控制是不能自增长,就会出现保存异常!!
没什么含量,只是希望遇到同样问题的童鞋有用……

本文介绍了一个使用Spring+Hibernate+ibatis+Freemarker架构的项目中遇到的乐观锁问题。作者通过排查发现,由于乐观锁字段未设置具体值导致为null,进而引起Hibernate事务控制无法自增长,最终造成保存异常。

被折叠的 条评论
为什么被折叠?



