我正在使用Hibernate + JPA作为我的ORM解决方案。
我在单元测试中使用HSQL,在真正的数据库中使用PostgreSQL。
我想要能够使用Postgres的原生UUID类型与Hibernate一起使用,并在单元测试中使用字符串表示的UUID与HSQL一起使用(因为HSQL没有UUID类型)。
我正在使用一个持久化XML,其中包含不同的配置用于Postgres和HSQL单元测试。
以下是我如何让Hibernate“看到”我的自定义UserType:
@Id
@Column(name="UUID", length=36)
@org.hibernate.annotations.Type(type="com.xxx.UUIDStringType")
public UUID getUUID() {
return uuid;
}
public void setUUID(UUID uuid) {
this.uuid = uuid;
}
这样做很好。但是我需要的是能够在不重新编译的情况下从XML或属性文件中交换注释中的“com.xxx.UUIDStringType”部分的能力。
有什么想法吗?