onSave()事件在實體保存之前發生,所以實體沒有它的id。有沒有辦法在保存後獲取實體ID?獲取Hibernate攔截器中已保存實體的ID的方法
1
A
回答
0
對我來說,我需要得到填補實體。當我們將實體添加到集合(例如HashSet)時,這些實體會在攔截器生命週期中更改自己的狀態。所以,我只是將實體添加到HashSet,然後在afterTransactionCompletion()從HashSet獲取實體。實體完全填充並具有Id。
0
根據EmptyInterceptor的JavaDocs,onSave方法接收「id」作爲參數。看到這裏:http://docs.jboss.org/hibernate/orm/3.5/javadoc/org/hibernate/EmptyInterceptor.html
所以,你可以使用該ID值。
我假設你已經創建了類似的方式攔截這裏解釋:http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/events.html
相關問題
- 1. hibernate攔截器後保存?
- 2. Hibernate實體攔截器觸發但設置值不保存
- 3. hibernate攔截器的onsave方法使用null Serializable id
- 4. Hibernate攔截器
- 5. Hibernate攔截器PostLoad
- 6. Hibernate afterAfterTransactionCompletion攔截器
- 7. 如何在Hibernate攔截器中獲取Hibernate會話?
- 8. 使用ADO.NET實體框架攔截實體保存
- 9. 在Hibernate攔截器中使用postFlush方法的錯誤
- 10. 從我們剛剛保存的實體中獲取ID的最佳方法?
- 11. 序列化JPA實體 - 僅保存獲取實體的ID
- 12. 攔截並重定向實體保存從內的SaveChanges
- 13. 從休眠攔截器獲取實體字段註釋
- 14. HQL的Hibernate攔截器/監聽器
- 15. Guice中的注入方法攔截器
- 16. 在攔截器中獲取執行方法註釋
- 17. 無法直接訪問已保存的關聯實體的ID而沒有獲取整個實體
- 18. 從SQLQuery結果中的id列獲取Hibernate實體實例
- 19. 在截獲的方法上配置攔截器(代理)
- 20. struts 2攔截器與hibernate攔截器不同嗎?
- 21. 帶休眠攔截器的JPA-Hibernate
- 22. 我Hibernate的攔截器不工作
- 23. 帶註釋的Hibernate攔截器
- 24. 如何在實體框架中使用攔截器時禁用攔截器
- 25. hibernate攔截器跟蹤對象並更新第三方緩存
- 26. 實體框架7攔截器
- 27. 不使用攔截器綁定調用攔截器方法
- 28. 從攔截器的MessageContext獲取ServletContext
- 29. 方法保存 - 獲取當前ID
- 30. 保存Hibernate JPA子實體的正確方法是什麼