尋找建議,以便有效地維護AppEngine for Java中的實體的基本審計字段(通過對象化)。對於各種日期字段(dateCreated,dateModified,dateDeleted),@PrePersist屬性看起來是一個很好的選擇,但我也希望存儲創建,修改,刪除實體的用戶的ID。這最好留給數據訪問層嗎?AppEngine實體的審計字段
1
A
回答
1
如果您需要存儲的記錄不僅僅是您提到的日期,還可能需要創建一個審計對象並使用@Embed將其存儲在您正在審計的對象中。然後使用@PrePersist來更新這個對象。這將爲您提供跨對象的一致審計框架。
0
恕我直言@PrePersist
是一個可以執行此操作的好地方。
您也可能想要使用objectify's polymorphism - 這樣您可以擁有包含所有審計字段的基類並執行保存。比所有需要審計的類都會擴展這個基類。
相關問題
- 1. Envers審計實體
- 2. 在實體中查詢實體中的選定字段 - appengine
- 3. 休眠 - 實體審計
- 4. 實體框架審計
- 5. 實體框架,計算實體字段
- 6. 的DbContext ChangeTracker:加實體的審計
- 7. 實體框架的核心 - 審計
- 8. 所有實體的通用審計表
- 9. 實體框架中的審計
- 10. EclipseLink的Hibernate Envers(實體審計)
- 11. Tweepy實體Appengine
- 12. 實體框架4更改審計
- 13. 從實體JPA忘記審計信息
- 14. 審計實體框架操作
- 15. 選擇性審計與實體框架
- 16. 實體框架審計線索
- 17. 查詢更新appengine數據存儲實體中的字段
- 18. JSP屏幕字段的審計跟蹤
- 19. 如何在hibernate實體中爲審計字段生成時期戳記?
- 20. jboss hibernate envers hbm2ddl(EnversHibernateToolTask)爲未審計的實體創建審計表
- 21. Hibernate Envers - 審計實體無法從空的審計表關係中恢復ID
- 22. AppEngine,實體丟失?
- 23. 何時更新審計字段? DDD
- 24. 實體框架高級計算字段?
- 25. 在NHibernate的(審計實施)
- 26. 審計體系結構
- 27. Symfony2實體字段
- 28. 審覈實體變更JPA
- 29. AppEngine實體和管理
- 30. 實時.NET ACL審計
如果我使用\ @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