2016-08-30 20 views
0

私はデータベースから自動的にIDを取得するはずのエンティティを持っています。私はMySQLを使用するので、@GeneratedValue(strategy = GenerationType.AUTO)の注釈を付けることを期待しています。プロジェクトを実行すると、自分のアプリケーションに必要なハードコードされたマスターデータをインポートしますが、jpaを使って同じテーブルに新しいデータを追加すると、id 0はすでにidが存在すると言っています。 私は追加した最後のIDから自動インクリメントを開始する必要があります。これは可能ですかJpa @GeneratedValue(strategy = GenerationType.AUTO)に0の代わりに開始値を与える方法

+0

インポート後のデータが自動インクリメントを使用しているか、インポート後に値が変更されていることを確認してください。http://stackoverflow.com/questions/970597/change-auto-increment-starting-number –

+0

jpaはそれが持つmysqlを気にしませんidを作成する独自の方法?私は@生成された値の注釈を使用しています –

+0

あなたが明確な関連情報を投稿した場合MySqlでは、通常、データベースによって管理される自動インクリメント列を使用します。 –

答えて

0

GenerationType.TABLEアプローチを使用して、データベースに既に存在する値に基づいてデータを入力します。

+0

他の方法はありますか?もし私が@生成された値を変更すると全体のアプリケーションに影響を与えます –

+0

私はここで他の方法は考えていません、あなたのデータベースのOPENJPA_SEQUENCE_TABLEを照会し、あなたが望むものに初期値を更新しようとしてください。 –

関連する問題