为什么我
引起:org.hibernate.MappingException:无法实例化id生成器[entity-name = hw11.model.domain.Client]?
这里是类Client,这里是一个错误https://goo.gl/Hbjmy1
的类以下是完整的日志例外http://pastebin.com/nmb4B1uL
答案 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已经存在冲突。