5.1.4. id

5.1.4. id

マップされたクラスはデータベーステーブルの主キーカラムを定義 しなければなりません 。ほとんどのクラスにはインスタンスのユニークな識別子を保持する JavaBeans スタイルのプロパティも持っています。 <id> 要素は、そのプロパティから主キーカラムへのマッピングを定義します。

<id
        name="propertyName"
        type="typename"
        column="column_name"
        unsaved-value="null|any|none|undefined|id_value"
        access="field|property|ClassName">
        node="element-name|@attribute-name|element/@attribute|."

        <generator class="generatorClass"/>
</id>

name(オプション):識別子プロパティの名前。

type(オプション): Hibernate の型を示す名前。

column(オプション - デフォルトはプロパティ名): 主キーカラムの名前。

unsaved-value(オプション - デフォルトの値は sensible ): インスタンスが新しくインスタンス化された (セーブされていない)ことを示す、識別子プロパティの値。以前の Session でセーブまたはロードされた一時的インスタンスと区別するために使います。

access (オプション - デフォルトは property ): Hibernate がプロパティの値にアクセスするために使用すべき戦略。

name 属性がなければ、クラスには識別子プロパティがないものとみなされます。

unsaved-value 属性は Hibernate3 ではほとんどの場合、必要ではありません。

複合キーを持つレガシーデータにアクセスできるように、 <composite-id> という代替のマッピング定義があります。しかし他の用途への使用は全くおすすめできません。