如果在关系中使用实体属性,如何更新它?

时间:2017-01-09 19:55:10

标签: java jpa

可以使用@Pre/PostPersist@Pre/PostUpdate@Pre/PostDelete JPA注释跟踪实体的保留,更新和删除。我希望更改实体属性(如果已在关系中使用它),即如果另一个实体已将其用作关系字段的值或添加到关系集合中。

使用@PrePostLoad很困难,因为很难排除与关系中的使用无关的负载。

我想使用pura JPA /提供商便携式解决方案,但我也对提供商特定解决方案感到好奇。

具体的想法是让用户在表单中创建和持久化实体(例如,联系信息的实例),然后将它们与以另一种形式创建的另一实体(例如,具有发送者属性的文档)相关联。用于关联的(已保持的)可用实体显示在表格中。此表应该可以通过最常用的计数器或最近使用实体的时间戳进行排序。

我正在使用JPA 2.1(目前是EclipseLink 2.6.4)。

1 个答案:

答案 0 :(得分:0)

我通过添加一个包含Storage的{​​{1}}接口来处理UI中的更新,并允许注册前后持久性回调(功能接口是真正的祝福),如

EntityManager

此建议已被其他用户提出,但后来显然被删除了。