HibernateのGenerator属性の7種類のclass
14363 ワード
HibernateのGenerator属性には7種類のclassがあり,この7種類のclassの意味と使い方を簡単に説明した.
1、identity:MySqlデータベース用.特徴:増加
- < id name="id" column="id">
- < generator class="identity"/>
- < /id>
注意:MySqlデータベースでインクリメンタル・シーケンスを使用する場合は、テーブルの作成時にプライマリ・キーをauto_として指定する必要があります.incrementプロパティ.
2、sequence:Oracleデータベース用
- < id name="id" column="id">
- < generator class="sequence">
- < param name="sequence"> < /param>
- < /generator>
- < /id>
3、native:データベース間で使用され、下位方言から生成されます.Default.sequenceはhibernate_sequence
- < id name="id" column="id">
- < generator class="native"/>
- < /id>
注意:nativeを使用する場合、HibernateはデフォルトでOracleのhibernate_を検索します.sequenceシーケンス.Oracleにシーケンスがない場合は、Oracleデータベースに接続しているときにエラーが表示されます.
4、hilo:高低位合成idにより、表hi_を先に作成するvalue,列を再構築next_value.初期値が必要です.
- < id name="id" column="id">
- < generator class="hilo">
- < param name="table">high_val< /param>
- < param name="column">nextval< /param>
- < param name="max_lo">5< /param>
- < /generator>
- < /id>
5、sequencehilo:高すぎる低位合成idと同じように、sequenceシーケンスを構築し、テーブルを構築しない.
- < id name="id" column="id">
- < generator class="hilo">
- < param name="sequence">high_val_seq< /param>
- < param name="max_lo">5< /param>
- < /generator>
- < /id>
6、assigned:ユーザーカスタムid;
- < id name="id" column="id">
- < generator class="assigned"/>
- < /id>
7、foreign:一対一の関係でプライマリ・キーを共有する場合、2 id値は同じです.