Q
休眠和身份證
1
A
回答
1
您可以使用'assigned'作爲Id生成策略,但是在將其保存到數據庫之前,必須先爲該實體提供其id。或者,您可以構建自己的org.hibernate.id.IdentifierGenerator實現,以您所建議的方式提供Id。
雖然我必須同意w/Cade Roux,並且這樣做似乎比使用內置增量,uuid或其他形式的id代更困難。
1
我會避免這種情況,並簡單地有一個關於對象的來源和外部標識符的列(假設外部標識符是一個重要的價值,你想跟蹤)的信息的輔助列。
將列用於混合目的通常是一個壞主意 - 在這種情況下,從代理鍵的性質推斷出對象的來源。
1
使用你喜歡的任何發生器,確保它可以從一個偏移量開始(當你使用一個序列時,你可以相應地初始化它)。
對於所有其他實體,請在插入它們之前調用setId()。如果id屬性爲0,Hibernate將只生成一個id。注意,你應該首先將帶有id的對象插入到db中,然後使用它們。 Hibernate中有很多代碼,當id!= 0時,預計該對象位於數據庫中。
另一種解決方案是對帶有id的實體使用負號。這也將確保在插入新對象時不會發生衝突。
相關問題
- 1. 休眠「身份」生成器
- 2. 春季安全數據庫身份驗證瓦特/休眠和哈希密碼?
- 3. 春天MVC休眠形式登錄頁面,權限和身份驗證問題
- 4. Spring Vault和休眠憑證
- 5. 休眠驗證
- 6. 身份驗證Web服務休息java
- 7. 休眠驗證器
- 8. 如何在我的Web應用中進行身份驗證? JSF2 + Spring3 + GlassFish3 +休眠
- 9. Microsoft身份證與身份證DI
- 10. 亞馬遜休息服務身份驗證和安全
- 11. Facebook的SDK - 使用JS身份驗證和PHP的休息?
- 12. 多個身份驗證方案和WWW身份驗證挑戰
- 13. Azure身份驗證和OAuth身份驗證
- 14. 是SQL Server身份驗證和Windows身份驗證
- 15. 表單身份驗證和身份驗證票據Cookie域
- 16. Ajax:HTTP基本身份驗證和身份驗證Cookie
- 17. RESTful端點的身份驗證 - 基本身份驗證和XHR
- 18. Windows身份驗證和表單身份驗證
- 19. Google身份驗證和Facebook身份驗證
- 20. CakePHP 2.0身份驗證和基本身份驗證
- 21. Firefox不顯示身份驗證提示和Windows身份驗證
- 22. GWT和休眠
- 23. 休眠和Flyweight
- 24. Netbeans和休眠
- 25. glassfish和休眠
- 26. 休眠和Java
- 27. Struts2和休眠
- 28. Ehcache和休眠
- 29. 休眠和ehcache
- 30. 休眠驗證和Spring 3.x