UserType
JavaクラスとJDBCの間で型変換を行うHibernateを作成しVARCHAR
ました。Beanに次のように注釈を付けました。
@TypeDef...
class MyClass {
@Column(name = "...")
@Type(type = "MyPropertyType")
private MyProperty myProperty;
@Column(name = "...")
private Date date;
}
これで、ユーザーはコマンドラインを介してこのプロパティ(およびその他)の条件を指定できます。JPAを使用して、これらの条件をクエリに追加しますCriteriaBuilder
。次に例を示します。
criteriaBuilder.equal(column, operand);
そうすることで、Hibernateはoperand
(文字列である)がに対応しないと文句を言いMyProperty.class
ます。Hibernateは型を自動的に変換しようとしません(これは、ターゲット型を認識しており、実装する型を指す注釈が付いているためStringRepresentableType
です。したがって、型変換を手動で行う必要があります。
- 文字列をターゲットタイプに変換しようとするようにHibernateに明示的に指示することは可能ですか?または、Hibernateから特定のBeanプロパティのTypeインスタンスを取得できますか?
- 登録さ
TypeRegistry
れているHibernateはどこで入手できますか?MyPropertyType