2012-10-10 174 views
1

我的应用程序使用hsql作为数据库。它一直工作到现在。在生产中,我得到了异常org.hibernate.SerializationException无法反序列化EOF异常。我无法获得完整的堆栈跟踪,因为在我的代码中没有正确捕获异常。无法反序列化eof异常

我也没有导致此异常的事件的确切顺序。重新启动tomcat和hql后,问题消失了。

对不起,但请我需要一些关于根本原因分析的帮助。这可能是什么问题?

validateSession(); 
     Session session = SessionFactory.getInstance(SessionContext.DISTRIBUTED).getSession(); 
     session.beginTransaction(); 
     List results; 
     try { 
      Criteria cri = session.createCriteria(Filter.class); 
      cri.add(Restrictions.eq("user", userVO.user())); 
      setLazyMode(cri); 
      results = cri.list(); 
      session.getTransaction().commit(); 
     } finally { 
      rollbackIfStillOpen(session); 
     } 

回答

0

说不上这是否会帮助你,但我有同样的问题,看来我有我的@Id成员,而不是上面的吸气器...

我觉得休眠异常消息是非常非常差。我不得不调试并创建特殊的测试案例来解决这个问题。对于hibernate来说,这样做会很困难:我找不到Id。它是注释还是映射?把你的注释放在getter而不是成员上。

这使我不知道为什么有一次它必须在吸气剂和其他时间在成员......为什么不把所有的成员或吸气剂?为什么所有这些废话呢?