Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
4年前关闭。
来自another thread
根据定义,实体是可以持久保存到
数据库,因此在上下文中具有最终字段将毫无意义
最终将成为数据库中的记录的东西。
有人可以详细说明为什么没有最终领域吗?
因此,由于JPA需要无参数构造函数,因此必须在该构造函数或其声明中将
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
4年前关闭。
来自another thread
根据定义,实体是可以持久保存到
数据库,因此在上下文中具有最终字段将毫无意义
最终将成为数据库中的记录的东西。
有人可以详细说明为什么没有最终领域吗?
最佳答案
您可以拥有它们,但是它们将作为"Transient" field从持久性中排除。因此它们不会被加载或保存。这就是JPA的工作方式。
static int transient1; // not persistent because of static
final int transient2 = 0; // not persistent because of final
transient int transient3; // not persistent because of transient
@Transient int transient4; // not persistent because of @Transient
因此,由于JPA需要无参数构造函数,因此必须在该构造函数或其声明中将
final
设置为固定值或static
中的值。因此,它的价值很小,如果像这样使用它会很臭。关于java - 实体类和最终关键字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34417551/
10-15 11:20