[2010-11-24 15:40:38,031] [Thread-16] ERROR org.hibernate.AssertionFailure  - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: collection [] was not processed by flush()
这个问题困扰我几天了,网上找了都没有什么头绪.还请大虾们帮忙看看!网上有说: 应该是在flush或者事务提交的过程中发生的。这一般由我们在事务开始至事务提交的过程中进行了不正确的操作导致,也会在多线程同时操作一个Session时发生.
由于经常报org.hibernate.AssertionFailure: collection [] was not processed by flush()的错误.
我用JDBC的方式update数据,可是没想到Hibernate commit方法隐式的调用了flush方法.不知这里有没有Hibernate 的解决的办法?

解决方案 »

  1.   

    我也在Hibernate官方网站看过,说是Hibernate的Bug,新的版本可以解决这个问题.不知有没有哪位提供一下Hibernate的最新的Hibernate的jar包试试.要3.1以上的版本....
      

  2.   

    不知道你的映射文件是怎么写的了。你试试使用乐观锁,在JDBC update数据的时候同时维护版本值试一下呢。
      

  3.   


    映射文件没有设置什么,只是有个<bag>的自链的设置.然后就有个Bean应用了这个对象作为主键关联,此Bean是复合主键!
    嗯.我先试一下你的建议!谢谢!
      

  4.   

    最后没办法..我单独写了一个JDBC的链接把数据修改或写入的.暂时找不到答案.
      不过还是得谢谢各位的帮助.谢谢了1
      

  5.   

        配置文件文件没有写错,谢谢,Oracle的乐观锁是有这个说法,已经找到答案了.跟Oracle的乐观锁有关,谢谢