为什么我得到org.hibernate.MappingException:无法实例化id生成器?

时间:2016-01-10 12:15:40

标签: java spring hibernate spring-mvc

为什么我

  

引起:org.hibernate.MappingException:无法实例化id生成器[entity-name = hw11.model.domain.Client]?

这里是类Client,这里是一个错误https://goo.gl/Hbjmy1

的类

以下是完整的日志例外http://pastebin.com/nmb4B1uL

3 个答案:

答案 0 :(得分:6)

我的代码是这样的:

...
@Id
@Column(name = "ID")
@SequenceGenerator(name = "stu_seq", sequenceName = "STUDENT_SEQ", allocationSize = 10)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "stu_seq")
private int id;
...

我只是将allocationSize设置为1并解决了问题。

答案 1 :(得分:1)

它说明了你需要知道的一切:

org.hibernate.dialect.MySQLDialect does not support sequences

使用MySQL时不要使用序列。您可能有一些具有id定义的实体,如下所示:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "your_seq")
private Long id; 

使用以下代码替换它们以使用MySQL的Auto Increment功能:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

答案 2 :(得分:1)

问题在于,在使用Oracle数据库启动项目之前,现在MySQL已经存在冲突。