亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用JPA批注對MYSQL自動增量字段進行批注

如何使用JPA批注對MYSQL自動增量字段進行批注

搖曳的薔薇 2019-10-09 15:18:48
直截了當,問題是將對象Operator保存到MySQL DB中。在保存之前,我嘗試從該表中進行選擇并起作用,因此與數據庫的連接也是如此。這是我的Operator對象:@Entitypublic class Operator{   @Id   @GeneratedValue   private Long id;   private String username;   private String password;   private Integer active;   //Getters and setters...}為了保存,我使用JPA EntityManager的persist方法。這是一些日志:Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?)com.mysql.jdbc.JDBC4PreparedStatement@15724a0: insert into Operator (active,password, username, id) values (0, 'pass', 'user', ** NOT SPECIFIED **)我的看法是,問題是自動遞增的配置,但我不知道在哪里。嘗試了一些我在這里看到的技巧: Hibernate不尊重MySQL auto_increment主鍵字段,但是這些都不起作用如果需要任何其他配置文件,我將提供它們。DDL:CREATE TABLE `operator` ( `id` INT(10) NOT NULL AUTO_INCREMENT,`first_name` VARCHAR(40) NOT NULL,`last_name` VARCHAR(40) NOT NULL,`username` VARCHAR(50) NOT NULL,`password` VARCHAR(50) NOT NULL,`active` INT(1) NOT NULL,PRIMARY KEY (`id`))
查看完整描述

3 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

請確保id數據類型為Long而不是String,如果它將為字符串,則@GeneratedValue批注將不起作用,并且為


@Id @GeneratedValue(strategy=GenerationType.IDENTITY)

private String id;


create table VMS_AUDIT_RECORDS (id **varchar(255)** not null auto_increment primary key (id))

那應該是


create table VMS_AUDIT_RECORDS (id **bigint** not null auto_increment primary key (id))


查看完整回答
反對 回復 2019-10-09
  • 3 回答
  • 0 關注
  • 625 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號