在之前的使用過程中,是用的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
這樣設置之後,主鍵就相當於是自增型的了,我也不太清楚其中的道理
各位大俠,請問後面這種解決方式好嗎?或者說要怎樣完美的解決這個問題呢?
Hibernate各種主鍵生成策略與配置詳解
Hibernate各種主鍵生成策略與配置詳解
Hibernate各種主鍵生成策略與配置詳解
----------------------同志你好,我是CSDN問答機器人小N,奉組織之命為你提供參考答案,編程尚未成功,同志仍需努力!