【问题标题】:JPA skip persisting a specific property when persisting the EntityJPA 在持久化实体时跳过持久化特定属性
【发布时间】:2013-11-06 16:47:37
【问题描述】:

我希望 JPA 不保留实体中的一个属性。

我不想使用 @Transient,因为我仍然希望在 READ 期间填充该属性。但是在持久化实体时不应写入该属性。有可能吗?

这是我不想被 read 持久化的属性

 @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 @JoinColumn(name = "userId", referencedColumnName = "id", insertable = false, updatable = false)
 private UserBare user;

【问题讨论】:

    标签: java hibernate jpa orm entity


    【解决方案1】:

    所以听起来你想要一个只读属性,但我猜你可能已经尝试过这个并且不喜欢结果?

    @Column(insertable = false, updatable = false)
    private String myProperty;
    

    【讨论】:

    • 嗨。是的!!该物业目前以这种方式装饰。我已经编辑了我的问题以显示属性声明。
    • ...你从中得到了什么样的结果?
    • 它仍在坚持。我怀疑 CASCADE.ALL。我会尝试修改 cascade 语句,看看是否有帮助。
    • 它真的对我有帮助。我真的有麻烦了。
    【解决方案2】:

    不要使用 cascade = CascadeType.ALL。如果您想具体使用除 ALL、MERGE 和 PERSIST 之外的其他类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多