【发布时间】:2011-05-05 09:14:58
【问题描述】:
直截了当,问题是将对象运算符保存到 MySQL 数据库中。 在保存之前,我尝试从该表中进行选择,它可以正常工作,与 db 的连接也是如此。
这是我的 Operator 对象:
@Entity
public 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 not respecting MySQL auto_increment primary key field 但没有任何效果
如果需要任何其他配置文件,我会提供。
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`)
)
【问题讨论】:
-
你使用的是什么版本的 Hibernate?
标签: java mysql orm jpa annotations