Đi thẳng vào vấn đề, vấn đề là lưu Toán tử đối tượng vào MySQL DB. Trước khi lưu, tôi cố gắng chọn từ bảng này và nó hoạt động, kết nối với db cũng vậy.
Đây là đối tượng Operator của tôi:
@Entity
public class Operator{
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
private Integer active;
//Getters and setters...
}
Để tiết kiệm, tôi sử dụng phương pháp EntityManager
của JPA persist
.
Đây là một số nhật ký:
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 **)
Theo cách tôi thấy, vấn đề là cấu hình với tăng tự động nhưng tôi không thể tìm ra nơi.
Đã thử một số thủ thuật tôi đã thấy ở đây: Ngủ đông không tôn trọng trường khóa chính auto_increment của MySQL Nhưng không có gì trong số đó hoạt động
Nếu cần bất kỳ tệp cấu hình nào khác, tôi sẽ cung cấp chúng.
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`)
)