问题在标题中。下面我仅描述了我的一些想法和发现。
当我有一个非常简单的域模型(3个表没有任何关系)时,我所有的实体都没有实现Serializable。
但是,当域模型变得更加复杂时,我遇到了RuntimeException,它表示我的一个实体没有实现Serializable。
我使用Hibernate作为JPA实现。
我想知道:
如果您混合使用HQL和本机SQL查询,通常会发生这种情况。在HQL中,Hibernate将您传递的类型映射到数据库可以理解的任何类型。运行本机SQL时,必须自己进行映射。如果您不这样做,则默认映射是序列化参数并将其发送到数据库(以希望它能理解它)。