4
A
回答
3
值類型映射到單個數據庫列。自定義值類型通常可以表示爲單個列,但Hibernate無法識別(例如,JodaTime DateTime
)。使用自定義值類型時,必須提供所有用於轉換爲列表示的邏輯。
組件更像是一個正常的hibernate映射類,除了組件的字段映射到父類的表的列。組件類型的每個字段通常都是值類型。當你有一個java類表示爲多列,但不應該放在他們自己的表中時,可以使用組件。
3
那麼你可以使用這些類似的東西,但總的來說:
組件映射是直接映射部分列。假設你有一個名稱是一個屬於你的Hibernate實體(容器)之一的類。 Hibernate沒有識別名稱,因爲它沒有被映射,但是你可以使用組件標籤來'分解'名稱對象並將這些部分映射到實體表中。
現在,令人困惑的是您可以創建一個名爲Name的自定義值類型。但是,在這種情況下你正在做的是創建一個值,就像Hibernate識別的Int或String一樣,因爲你使用了一個特殊的接口來創建它。從Hibernate文檔中,這對於金錢價值是很有用的一個好主意。您可以創建一個值類型,告訴Hibernate如何處理您傳遞的這個貨幣對象。
您很可能會使用比自定義值類型更多的組件映射。我相信我們的應用程序,我們只使用自定義類型的Joda Time,因爲日曆糟透了。
2
組件是映射爲可重用的對象的列組。它們很容易實現。 自定義值類型實施起來有點困難。你必須實現某些hibernate接口。 在大多數情況下,我相信組件就足夠了。 我們使用自定義類型來繪製GIS值,這需要一些解析...
相關問題
- 1. 問題與自定義映射類型
- 2. 映射秀自定義數據類型
- 3. nHibernate映射到自定義類型
- 4. Cassandra自定義類型映射器
- 5. MongoDB中的自定義類型映射
- 6. Hibernate基元類型映射
- 7. Liquibase diffChangeLog Hibernate映射定義
- 8. 將Oracle類型映射到Hibernate類型
- 9. 在流利的nhibernate上映射一組自定義類型
- 10. 繼承Hibernate組件映射
- 11. 一些輸入值映射到一個自定義類型
- 12. Hibernate:定義項目範圍內的類型映射
- 13. 映射休眠「自定義」子類
- 14. 自定義F#類型如何映射到CLR類型?
- 15. 如何將數據類型映射到自定義類型?
- 16. 將Hibernate查詢結果映射到自定義類?
- 17. Hibernate映射的自定義類加載器
- 18. 浮動表定義中的自定義映射列類型
- 19. 是否可以將Hibernate <component>列映射到自定義用戶類型?
- 20. NHibernate組件映射VS IUserType
- 21. 無法在Hibernate映射中實例化自定義類型錯誤枚舉映射
- 22. jpa獨立自定義類型映射/ javax.persistence.x替代org.hibernate.annotations.Type和org.hibernate.annotations.TypeDef
- 23. CoreData自定義映射模型
- 24. 在Hibernate中映射枚舉子類型
- 25. hibernate映射Java類型的oracle數(22,2)
- 26. Hibernate映射泛型類與@MappedSuperClass祖先
- 27. Hibernate的不同類型的POJO映射
- 28. 用於映射java.lang.Double的Hibernate類型
- 29. 所有映射的自定義AutoMapper名稱/類型約定?
- 30. Oracle UDTs未指定或無效的自定義類型映射