如果你使用到了Second Level Cache,并且允许了它File存储,那么Hibernate中的已经Cache了实体类就会需要写入文件了这个时候如果没有实现Serializable就会出现异常。

解决方案 »

  1.   

    ChDw(米) 
    你说的我不是很明白,是否能够详解???
      

  2.   

    Hibernate本身可以支持二级缓存(具体看它文档),在打开的情况下,你调用get(id)实际上并会出现没有执行SQL语句,而是从缓存中获取数据的功能
    那么在缓存中的对象数目过多的情况下,根据Hibernate缓存的策略配置,该缓存类可能会将你的代码写入磁盘中,那么你的类就必须实现Serializable