寻找建议,以便有效地维护AppEngine for Java中的实体的基本审计字段(通过对象化)。对于各种日期字段(dateCreated,dateModified,dateDeleted),@PrePersist属性看起来是一个很好的选择,但我也希望存储创建,修改,删除实体的用户的ID。这最好留给数据访问层吗?AppEngine实体的审计字段
1
A
回答
1
如果您需要存储的记录不仅仅是您提到的日期,还可能需要创建一个审计对象并使用@Embed将其存储在您正在审计的对象中。然后使用@PrePersist来更新这个对象。这将为您提供跨对象的一致审计框架。
0
恕我直言@PrePersist
是一个可以执行此操作的好地方。
您也可能想要使用objectify's polymorphism - 这样您可以拥有包含所有审计字段的基类并执行保存。比所有需要审计的类都会扩展这个基类。
相关问题
- 1. 实体框架审计
- 2. 休眠 - 实体审计
- 3. 实体框架,计算实体字段
- 4. 的DbContext ChangeTracker:加实体的审计
- 5. 实体框架中的审计
- 6. 实体框架的核心 - 审计
- 7. EclipseLink的Hibernate Envers(实体审计)
- 8. 选择性审计与实体框架
- 9. 如何在hibernate实体中为审计字段生成时期戳记?
- 10. 实体框架高级计算字段?
- 11. 在NHibernate的(审计实施)
- 12. 审计体系结构
- 13. 实体中的Id字段
- 14. 如何为appengine上的JDO实体中的字段指定默认值?
- 15. 实时.NET ACL审计
- 16. 如何用envers强制审计实体中的现场更新?
- 17. jhipster实体审计抛出异常,当我尝试启用审核
- 18. 访问Appengine NDB中删除的实体
- 19. 优化appengine实体密钥的使用
- 20. 删除AppEngine上的实体时出错
- 21. appengine bulkdownloader与嵌套实体的xml
- 22. 覆盖审核字段@CreatedDate
- 23. 从实体审计中选择最低版本号
- 24. 实体框架4.1 DbContext覆盖SaveChanges审计属性更改
- 25. 在SaveChanges上使用ObjectContext进行实体框架审计
- 26. 实体框架创建审计表/历史表?
- 27. Symfony的审计日志,最佳实践
- 28. Dynamics CRM 2011:自定义实体字段计算的东西
- 29. 宏来统计字段中的实体数
- 30. 实体框架创建计算(未映射)的字段?
如果我使用\ @PrePersist,如何获得用户ID?我们必须访问它的唯一方法是通过用户检索服务从HttpSession中抓取它。向域实体注入某种服务以获取此信息是否常见? – 2012-04-01 13:16:34
是的。您可以从会话中获取它或从cookie中读取它。这完全取决于您的应用程序。通常,应用程序的DAO层将具有doUpdate(用户,实体)的方法 – 2012-04-01 18:39:52
我们有一个DAO层,但我不确定我喜欢将用户传递给每个doUpdate方法的想法。 DAO层不应该内在地知道如何做到这一点? – 2012-04-07 22:11:44