Kar*_*lek 24 java jpa
为什么JPA中的实体类不能是最终的或者有最终方法?引用这里 -
实体类必须遵循以下要求: ... 不得声明该类final.不能声明任何方法或持久性实例变量final.
实体类必须遵循以下要求:
...
不得声明该类final.不能声明任何方法或持久性实例变量final.
final
是什么原因?JPA是否对实体类进行了子类化并重新定义了方法?
Jos*_*iaz 28
根据定义,实体是一个可以持久化到数据库的类,因此在最终成为数据库记录的上下文中使用final字段是没有意义的.没有最终类和最终方法的要求与JPA实现实际处理实体类的持久实例的方式有关.
实现在运行时子类化子类和/或动态地向类中添加字节代码是常见的,以便检测何时发生对实体对象的更改.如果你的类被宣布为final,那就不可能了.
当然有更多的原因而不仅仅是那些,这里有一篇文章提供了有关ORM一般如何工作的更多信息,可能有助于您更好地理解JPA实体的其他要求.
归档时间:
15 年,9 月 前
查看次数:
7808 次
最近记录:
8 年,1 月 前