【问题标题】: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/…

标签: java jpa entity persistence


【解决方案1】:

当然,你可以使用@Transient注解。例如:

class MyClass{

    private int id;
    private String name;

    @Transient
    private int identity;
}

这里,identity 字段是临时的,在数据​​库中不是持久的。

这意味着如果一个变量被标记为@Transient,那么它将不会被添加 在数据库中。它没有此变量的持久性表示 在那个休眠会话中。会话关闭后,这些瞬态 对象将被垃圾回收销毁。

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多