3.4.12. Tuplizer
org.hibernate.tuple.Tuplizer
とそのサブインターフェースは一部のデータの特定の表現を管理します (表現が org.hibernate.EntityMode
の場合)。該当するデータ部分がデータ構造と考えられる場合は、このようなデータ構造の作成方法、このようなデータ構造からの値の抽出方法、このようなデータ構造への値の入力方法を知っている tuplizer を使用します。たとえば、POJO エンティティモードの場合、対応する tuplizer はそのコンストラクタを使用して POJO の作成方法と、定義されたプロパティアクセス側を使用して POJO プロパティへのアクセス方法を把握しています。Tuplizer には、org.hibernate.tuple.EntityTuplizer
インターフェースと org.hibernate.tuple.ComponentTuplizer
インターフェースで表された 2 つの高度なタイプがあります。EntityTuplizers はエンティティに関する上述のコントラクトを管理し、ComponentTuplizers
はコンポーネントを管理します。詳細については、Hibernate リファレンスドキュメンテーションを参照してください。
アノテーションで tuplixer を定義するには、適切なエレメントで
@Tuplizer
アノテーションを使用します。
@Entity @Tuplizer(impl = DynamicEntityTuplizer.class) public interface Cuisine { @Id @GeneratedValue public Long getId(); public void setId(Long id); public String getName(); public void setName(String name); @Tuplizer(impl = DynamicComponentTuplizer.class) public Country getCountry(); public void setCountry(Country country); }