我正在尝试使用Hibernate注释来映射类,但它告诉我hibernate_sequence不存在。
我使用mysql。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column()
private int id;
这是我已经声明了auto_increment字段。我缺少什么?
答案 0 :(得分:0)
在persistence.xml中,尝试添加此
<property name="hbm2ddl.auto" value="update"/>
这可能会奏效。
答案 1 :(得分:0)
将@GeneratedValue(strategy = GenerationType.IDENTITY)
更改为
@GeneratedValue(strategy = GenerationType.AUTO)
尝试一下,它对我有用,创建表后,将GenerationType
更改回IDENTITY,TABLE或其他generationTypes。
答案 2 :(得分:0)
您可以在db中手动创建序列
create sequence hibernate_sequence start with 1 increment by 1
但并非所有数据库都支持序列
例如,如果您正在使用 Mysql,则上述查询将失败。 在 mysql 中,您需要将 AUTO_INCREMENT 与主键一起使用,如下面的查询
CREATE TABLE `mysql_table` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`),
);