ตรงประเด็นปัญหาคือการบันทึก object Operator ลงใน MySQL DB ก่อนที่จะบันทึกฉันพยายามเลือกจากตารางนี้และมันใช้งานได้การเชื่อมต่อกับ db
นี่คือวัตถุ Operator ของฉัน:
@Entity
public class Operator{
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
private Integer active;
//Getters and setters...
}
ในการบันทึกฉันใช้วิธีEntityManager
ของJPApersist
นี่คือบันทึกบางส่วน:
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 **)
อย่างที่ฉันเห็นปัญหาคือการกำหนดค่าด้วยการเพิ่มอัตโนมัติ แต่ฉันคิดไม่ออกว่าที่ไหน
ลองใช้เทคนิคบางอย่างที่ฉันเห็นที่นี่: ไฮเบอร์เนตไม่เคารพฟิลด์คีย์หลักของ 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`)
)