hibernate_sequence不存在

时间:2016-09-30 14:27:15

标签: java mysql hibernate

我正在尝试使用Hibernate注释来映射类,但它告诉我hibernate_sequence不存在。

我使用mysql。

@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column()
    private int id;

这是我已经声明了auto_increment字段。我缺少什么?

3 个答案:

答案 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`),
);