簡體   English   中英

Defina在Hibernate 4上的默認類型映射

[英]Defina a default type mapping on Hibernate 4

我需要定義/覆蓋默認的休眠映射來解決java.util.UUID默認映射的問題。

我一直在尋找與此主題相關的一些評論:在這里,Hibernate支持的Postgresql UUID嗎? 使用JPA和Hibernate文檔在PostgreSQL中使用 Postgres + Hibernate + Java UUID持久性UUID

但是,更容易注釋的解決方案; 像@Type(type =“ pg-uuid”)之類的東西對我不起作用,因為我需要使用其他數據庫(例如H2)運行

因此,正如一些評論中所述,我需要“將org.hibernate.type.PostgresUUIDType注冊為默認的Hibernate類型映射,以顯示為java.util.UUID的所有屬性”。

可悲的是,在檢查了文檔之后,我仍然不知道該怎么做。

您能否解釋一下或為我提供有關如何在Hibernate 4.2中覆蓋默認類型映射的更詳細的信息?

謝謝並恭祝安康,

我發現最好的解決方案是定義一個自定義類型,該類型將根據環境變量進行切換,類似於此處所做的:

https://zorq.net/b/2012/04/21/switching-hibernates-uuid-type-mapping-per-database/

因此,我定義了一個MyUuid類,使用@Type(type =“ type” whatever“)注釋了實體中的相關UUID字段,並在實體級別定義了新的映射

@TypeDef(name =“ whatever”,defaultForType = UUID.class,typeClass = MyUuid.class)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM