Java 定义Hibernate 4上的默认类型映射

Java 定义Hibernate 4上的默认类型映射,java,hibernate,mapping,uuid,Java,Hibernate,Mapping,Uuid,我需要定义/覆盖默认的hibernate映射来解决java.util.UUID默认映射的问题 我一直在看一些与这个主题相关的评论:这里和Hibernate文档 然而,注释更容易解决;像@Type(Type=“pg uuid”)这样的东西不适合我,因为我需要使用不同的数据库(例如H2)运行 因此,我需要的是“将org.hibernate.type.postgresuidtype注册为作为java.util.UUID公开的所有属性的默认hibernate类型映射”,正如一些评论中所说的那样 可悲的是

我需要定义/覆盖默认的hibernate映射来解决java.util.UUID默认映射的问题

我一直在看一些与这个主题相关的评论:这里和Hibernate文档

然而,注释更容易解决;像@Type(Type=“pg uuid”)这样的东西不适合我,因为我需要使用不同的数据库(例如H2)运行

因此,我需要的是“将org.hibernate.type.postgresuidtype注册为作为java.util.UUID公开的所有属性的默认hibernate类型映射”,正如一些评论中所说的那样

可悲的是,在检查了文档之后,我仍然不知道该怎么做

请您解释一下或给我指一个关于如何在Hibernate 4.2中重写默认类型映射的更详细的信息好吗


谢谢,我想,

我找到的最佳解决方案是定义一个自定义类型,该类型将根据环境变量进行切换,类似于此处所做的操作:

因此,我定义了一个MyUuid类,用@Type(Type=“whatever”)注释实体中的相关UUID字段,并在实体级别定义了新的映射

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