hibernate如何配置mysql主键生成策略?

在之前的使用过程中,是用的oracle,只需要用注解的方式在主键上加@GeneratedValue,新增操作时,就可以自动生成主键了。
但是现在这个项目转为用mysql,用@GeneratedValue就会报“java.sql.SQLException: Field '***' doesn't have a default value”

@Id
@GeneratedValue
@Column(name = "rol_id")
private Long rolId; // ID

后来在网上搜了下,改成下面这样就不会报错了

@Id
@GeneratedValue(generator = "system-uuid")   
@GenericGenerator(name = "system-uuid", strategy = "increment")
@Column(name = "rol_id")
private Long rolId; // ID

这样设置之后,主键就相当于是自增型的了,我也不太清楚其中的道理
各位大侠,请问后面这种解决方式好吗?或者说要怎样完美的解决这个问题呢?

1个回答

Hibernate各种主键生成策略与配置详解
Hibernate各种主键生成策略与配置详解
Hibernate各种主键生成策略与配置详解
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

怎么2009不行啊。谁说

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问