【发布时间】:2012-03-31 02:40:44
【问题描述】:
寻找有效的方法来维护 AppEngine for Java 中实体的基本审计字段的建议(通过 objectify)。 @PrePersist 属性对于各种日期字段(dateCreated、dateModified、dateDeleted)看起来是一个不错的选择,但我还希望存储创建、修改、删除实体的用户的 ID。这最好留给数据访问层吗?
【问题讨论】:
标签: java google-app-engine objectify
寻找有效的方法来维护 AppEngine for Java 中实体的基本审计字段的建议(通过 objectify)。 @PrePersist 属性对于各种日期字段(dateCreated、dateModified、dateDeleted)看起来是一个不错的选择,但我还希望存储创建、修改、删除实体的用户的 ID。这最好留给数据访问层吗?
【问题讨论】:
标签: java google-app-engine objectify
如果您需要存储的记录不仅仅是您提到的日期,您可能需要创建一个审计对象并使用@Embed 将其存储在您正在审计的对象中。然后使用@PrePersist 更新这个对象。这将为您提供跨对象的一致审计框架。
【讨论】:
恕我直言@PrePersist 是执行此操作的好地方。
您可能还想使用objectify's polymorphism - 这样您就可以拥有一个包含所有审计字段的基类并执行保存。比所有需要审计的类都只扩展这个基类。
【讨论】: