Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate JPA。如何仅在合并操作中忽略某些字段_Hibernate_Jpa_Merge_Ignore - Fatal编程技术网

Hibernate JPA。如何仅在合并操作中忽略某些字段

Hibernate JPA。如何仅在合并操作中忽略某些字段,hibernate,jpa,merge,ignore,Hibernate,Jpa,Merge,Ignore,我希望在实体中有字段:creationDate和updateDate 我希望此字段在持续操作时在db中更新。 但是我想在数据库中的merge操作中,字段creationDate不会被更新 我正在寻找这样的JPA注释: @TransientOnMerge或@IgnoreOnMerge 但是我什么也找不到 可能吗? 您可以提供帮助吗?您可以将@Column(updateable=false)添加到实体的字段。您可以在@PrePersist或@postersist上使用并更新日期 PrePersist

我希望在
实体
中有字段:
creationDate
updateDate

我希望此字段在
持续操作时在db中更新。
但是我想在数据库中的
merge
操作中,字段
creationDate
不会被更新

我正在寻找这样的JPA注释:
@TransientOnMerge
@IgnoreOnMerge
但是我什么也找不到

可能吗? 您可以提供帮助吗?

您可以将@Column(updateable=false)添加到实体的字段。

您可以在
@PrePersist
@postersist
上使用并更新日期

PrePersist:此回调方法是在之前为给定实体调用的 相应的实体管理器对该实体执行持久化操作 实体

PostPersist:此回调方法在 相应的实体管理器对该实体执行持久化操作 实体


这是个好办法。在
@PreUpdate
方法中,我可以从db
creationDate
中获取,并在更新之前将其设置为object。哪种效果是正确的。但是我认为,`@Column(updateable=false)是一个更好的方法。如果它能工作,它将解决我的问题。我会检查的。谢谢。它很有魅力。非常感谢。这并不是一直都有效。使用
updateable=false
设置,从
merge
函数传回的托管实例仍会覆盖这些值。忽略仅发生在DB级别。我想获取实例的更新版本。我该怎么做?答案也在这里: