写测试类,向数据库保存一条数据时,出现了“ Table 'XXX.hibernate_sequence' doesn't exist”的错误
经查,是由于使用 @GeneratedValue 注解时,没有指定生成策略。
改为 @GenerationValue(strategy = GenerationType.IDENTITY)即可。
猜测:
GenerationType为枚举类型,包括了TABLE, SEQUENCE, IDENTITY 和 AUTO.
若没有指定,默认为AUTO,即持久化引擎自主选择前三种生成方式的其中一种。可能是选择错误。
结论:
使用@GenerationValue注解时,最好显式地指定生成策略,避免错误的发生。
参考链接: