实体类中的所有实例变量是不是都在数据库中持久化? [复制]
Posted
技术标签:
【中文标题】实体类中的所有实例变量是不是都在数据库中持久化? [复制]【英文标题】:Are all instance variables in an entity class persistent in the database? [duplicate]实体类中的所有实例变量是否都在数据库中持久化? [复制] 【发布时间】:2019-02-19 22:08:46 【问题描述】:实体类中的所有实例变量是否都持久存在于数据库中?或者实体中的某些变量是否可能是非持久的?
【问题讨论】:
当然要用瞬态注解关键字。 默认情况下它们是持久的。如果在变量上添加@Transient
注解,它是非持久的。
互联网上有很多 JPA API 文档,他们都会解释这一点。也许读过它们?例如datanucleus.org:15080/products/accessplatform_5_2/jpa/…
【参考方案1】:
当然,你可以使用@Transient
注解。例如:
class MyClass
private int id;
private String name;
@Transient
private int identity;
这里,identity
字段是临时的,在数据库中不是持久的。
这意味着如果一个变量被标记为
@Transient
,那么它将不会被添加 在数据库中。它没有此变量的持久性表示 在那个休眠会话中。会话关闭后,这些瞬态 对象将被垃圾回收销毁。
【讨论】:
以上是关于实体类中的所有实例变量是不是都在数据库中持久化? [复制]的主要内容,如果未能解决你的问题,请参考以下文章