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