javax.persistence.PersistenceException:org.hibernate.type.SerializationException:无法反序列化

And*_*i I 15 hibernate jpa

在hibernate中执行Criteria Query时,我得到以下异常:

javax.persistence.PersistenceException: javax.persistence.PersistenceException: org.hibernate.type.SerializationException: could not deserialize: could not deserialize
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

PS:虽然可能不相关,但我的hibernate版本是hibernate-4.0.1 final.

And*_*i I 26

问题是被引用的实体有另一个对实体的引用,并且该关系没有被任何@OneToMany类似的注释注释.

  • 不幸的是,我也遇到了这个问题......在大约100个实体类中,有7500多行代码.这个例外在一点点都没有用.= / (5认同)

Vla*_*čík 7

当hibernate从数据库查询结果中获取意外类型的数据时,可能会发生此异常.例如,hibernate需要数字,但会获取字符串.

在这种情况下,StreamCorruptedException: "invalid stream header": 74657374在stacktrace中查找异常.该数字是暗示,但您可能希望将其转换为带有ascii表的文本.74 65 73 74给出test了字符串.这是类似命名的表列的值,但具有完全不同的类型.所以hibernate正在查询错误的列,它恰好偶然存在,所以引发的第一个异常不是,column does not exist而是could not deserialize相反.Hibernate期待很久但却得到了String.

我在这个烂摊子了,因为正确的@Column(name="id_user")被忽视和休眠infered错列名user从没有字段名idUser,但只是usergetUser()吸气.注释被忽略,因为它是在属性getter而不是字段上指定的,这是hibernate所期望的,因为实体超类注释了ID字段@Id,而不是ID getter,这是我毫无根据的期望.