お世話になっております。
Seasar2の勉強をしている中で、DBに登録する情報の主キーとなるカラムを、自動連番で登録したいと考えています。
そこで2点ほど伺いたいことがあります。
①sequenceを生成するコードはどこに記述するのか
現時点で、以下のようなコードです(Entityに記述)
Java
1@Id 2@GeneratedValue(strategy=GenerationType.SEQUENCE) 3public Integer id;
このように指定した場合、あらかじめ次のようなシーケンスを用意しておく必要があるということだったのですが、
Java
1create sequence <テーブル名>_<識別子のカラム名> 2 incremet by 50;
このコードはどこに記述すれば良いのでしょうか?
新たにクラスを作るのでしょうか?
②そもそものGeneratedValueの使い方について
また、単純に
Java
1@Id 2@GeneratedValue 3public Integer id;
と指定した場合、デフォルトでstrategyがGenerationType.AUTOとなり、
IDENTITY・SEQUENCE・TABLEの順で判定されて適用されるとのことですが、
IDENTITYとSEQUENCEの違いがいまいち理解できません。
IDENTITYはDB固有のもの(DBにあらかじめ設定してあるもの)が適用され、
SEQUENCEは自分でSEQUENCEを作ってDBに新たに設定するという認識で問題ないでしょうか?
以上の2点についてご回答いただければ幸いです。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/02 03:38