ORM ソリューションとして Hibernate + JPA を使用しています。
単体テストには HSQL を使用し、実際のデータベースには PostgreSQL を使用しています。
Postgres のネイティブUUIDタイプを Hibernate で使用できるようにしたいと考えています。ユニット テストでは、HSQL の String 表現で UUID を使用します (HSQL には UUID タイプがないため)。
Postgres と HSQL 単体テスト用に異なる構成の永続性 XML を使用しています。
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」部分を交換する機能、または再コンパイルせずに変更できるプロパティ ファイルから交換する機能です。
何か案は?