我用hibernate創建了我的db表,而我的用戶類有一個自動生成的id,就像follwos一樣。如何向Oracle中的現有自動增量表插入一行?
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_Id")
private int userId;
@Column(name = "username", nullable = false)
private String username;
@Column(name = "password", nullable = false)
private String password;
我想從蟾蜍控制檯插入用戶也我手動添加user_id值。當我想從我的應用程序中插入一個新的用戶,我得到一個錯誤如下,
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (TDM.SYS_C001668192) violated
我必須用一個程序插入來自數據庫的一些值,所以如何利用現有的序列插入新行或身份證(無論)?
UPDATE:
我的問題,謝謝決心@Afridi如下。
首先,我添加序列註釋user_id說明
@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; 之後,我把它稱爲那樣
;
insert into t_user (user_id, username) values(T_USER_SEQ.nextval, 'newUser');
我檢查了這個sql;
select * from user_sequences where sequence_name = 'T_USER_SEQ';
2017-05-17
N' bia
+1
使用本: @Id @GeneratedValue(策略= GenerationType.AUTO,發電機= 「my_entity_seq_gen」) @SequenceGenerator(NAME = 「my_entity_seq_gen」,sequenceName = 「MY_ENTITY_SEQ」) 私人長期ID; –
+0
我現在可以訪問現有的價值嗎? –