Hibernate和Serializable

时间:2011-11-11 17:02:32

标签: java hibernate

我有点困惑,我的印象是类只需要实现序列化,好吧,如果我需要序列化它们(就像在,hibernate不需要类可序列化,如果我想要的是持久性)

无论如何,以下让我有点困惑。我有一个类,让我们称之为A.与另一个类有一对一的关系。让我们称之为B.

我现在又添加了另一个与C类的一对一关系,现在,当我使用mySession.get(A.class,myid)时,我得到一个运行时异常,告诉我C不能被强制转换可序列化

当我的其他所有hibernate类都不需要它时,我无法理解为什么C需要实现serializable。

更新

另一个奇怪的事情是,这个映射实际上没有“C”类在过去可序列化。

我使用mysql客户端手动更改了表中的数据。我运行了一个更新,它使用UPPER()函数将表中的所有字符串转换为大写。这可能是因为hibernate希望这个类现在可以序列化吗?

1 个答案:

答案 0 :(得分:2)

当您忘记将映射映射到类的持久对象时,该错误很常见,

例如你有一个持久化类用户里面有另一个持久化类的地址,地址被映射到用户你忘了把关系一对一然你映射为基本类型

检查代码是否有任何原谅的关系映射