我在使用Hibernate创建表时遇到一些问题,但有以下异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:列' id'
的列说明符不正确无法对JDBC目标执行模式管理[create table services(id varchar(255)not null auto_increment,adult_cost double precision not null,child_cost double precision not null,partner_id varchar(255)not null,primary key(id) )ENGINE = InnoDB]
我的ID列代码如下:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
据我所知,当您尝试将auto_increment分配给非数字时,通常会发生此异常,但正如您所见 - 我已将id定义为int。
任何帮助表示感谢。
答案 0 :(得分:0)
使用GenerationType.IDENTITY
代替GenerationType.AUTO
。 Mysql不使用表来生成id值。