JPA实体何时以及为何应实现Serializable接口?

问题在标题中。下面我仅描述了我的一些想法和发现。

当我有一个非常简单的域模型(3个表没有任何关系)时,我所有的实体都没有实现Serializable。

但是,当域模型变得更加复杂时,我遇到了RuntimeException,它表示我的实体之一未实现Serializable。

我使用Hibernate作为JPA实现。

我想知道:

  1. 它是特定于供应商的要求/行为吗?
  2. 我的可序列化实体会怎样?它们应该可序列化用于存储或传输吗?
  3. 何时需要使我的实体可序列化?

回答:

如果混合使用HQL和本机SQL查询,通常会发生这种情况。在HQL中,Hibernate将你传入的类型映射到数据库可以理解的任何类型。运行本机SQL时,必须自己进行映射。如果不这样做,则默认映射是序列化参数并将其发送到数据库(以希望它能理解它)。

以上是 JPA实体何时以及为何应实现Serializable接口? 的全部内容, 来源链接: utcz.com/qa/409131.html

回到顶部