私はhibernateで私のdbテーブルを作成しました。私のユーザクラスはfollwosのような自動生成されたIDを持っています。既存の自動増分テーブルに行を挿入する方法は?
私はtoadコンソールからユーザーを挿入しようとしていますが、手動でuser_idの値を追加します。私は自分のアプリケーションから新しいユーザを挿入するときに、私は次のようにエラーを取得し、
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (TDM.SYS_C001668192) violated
私は手続きで、データベースからいくつかの値を挿入する必要があり、その既存のシーケンスを使用して新しい行を挿入する方法やid(何でも)?
はUPDATE:
私は次のように@Afridiに問題のおかげで解決します。
まず、私はそのように呼ばその後
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "t_user_id_seq_generator")
@SequenceGenerator(name = "t_user_id_seq_generator", sequenceName = "t_user_seq")
@Column(name = "user_Id")
private int userId;
をUSER_IDするシーケンスの注釈を追加しました。
insert into t_user (user_id, username) values(T_USER_SEQ.nextval, 'newUser');
このSQLを確認しました。
select * from user_sequences where sequence_name = 'T_USER_SEQ';
使用この: @Id @GeneratedValue(戦略= GenerationType.AUTO、発電機= "my_entity_seq_gen") @SequenceGenerator(名前= "my_entity_seq_gen"、sequenceName = "MY_ENTITY_SEQ") プライベートロングID。 – Afridi
私は既に既存の値にアクセスできますか? –