@634

Hibernate - 一意キーとGenerator

Advertisement

一意キーとGenerator

Hibernateではテーブルの一意キーを自動生成するGeneratorという機能が提供されている。利用するGeneratorの種類はマッピングファイルを定義する際に指定する。

<hibernate-mapping>
    <class name="dto.EmpDto" table="Emp">
        <id name="id" column="id">
            <generator class="increment" />
        </id>
    </class>
</hibernate-mapping>
ここでincrementと指定を行っているのがGeneratorである。

Generator一覧
Generator特徴
incrementプリミティブ整数(int, long, short)型のデータを自動採番する。他プロセスがレコード挿入を行う場合、不具合が発生する。
identityデータベースが提供する一意カラムを利用する。
sequenceデータベースが提供する順序ジェネレーターを利用する。
hilo効率のよいHi/Loアルゴリズムを利用する。特別なテーブルを利用する。
seqhilo効率のよいHi/Loアルゴリズムを利用する。順序ジェネレーターを利用する。
uuid.hex128bitUUIDアルゴリズムを利用する。長さが32の文字列にエンコードされる。
uuid.string同上。長さが16の文字列にエンコードされる。
nativeデータベースによって利用するアルゴリズムが決定される。
assignedsave()実行前にアプリケーションが識別子を設定しておく。
foreign他の関連オブジェクトの識別子を使う。通常は一対一で対応する外部キーを利用する。

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール