2.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);


}