在實(shí)現(xiàn)spring整合hibernate時(shí)候,采用annotation方式實(shí)現(xiàn)的,數(shù)據(jù)采用mysql,我有兩個(gè)model,一個(gè)是log,一個(gè)是user他的自動(dòng)生成主鍵策略都采用annotation的方式 @Id@GeneratedValue,在執(zhí)行當(dāng)前用戶保存并且添加日志時(shí)候出現(xiàn)Caused by: java.sql.SQLException: Failed to read auto-increment value from storage engine這個(gè)問題,通過發(fā)現(xiàn)是由于mysql的朱建生成策略的問題。
所以解決方法:
1、去掉log的朱建生成策略,主要就是去掉log實(shí)體中的@GeneratedValue,然后自動(dòng)以主鍵,可以采用uuid或者其他自定義的只要不重復(fù)的主見都可以,手動(dòng)生成主鍵,然后執(zhí)行就可以了。