5.1.12. natural-id

5.1.12. natural-id

<natural-id mutable="true|false"/>
        <property ... />
        <many-to-one ... />
        ......
</natural-id>

主キーとして代理キーの使用を推奨しますが、すべてのエンティティに対して自然キーを識別するようにすべきです。自然キーはユニークかつ非 null な一つのプロパティ、またはプロパティの連結です。不変であればさらに良いです。 <natural-id> 要素内で自然キーのプロパティをマッピングします。 Hibernate は必然的にユニークかつ null 値を許可する制約を生成し、こうしてマッピングはより自己記述的になります。

エンティティの自然キープロパティの比較には、 equals()hashCode() の実装を強くお勧めします。

このマッピングは自然主キーを使ったエンティティでの使用を意図していません。