错误代码:ERROR o.h.id.enhanced.TableStructure - could not read a hi value
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'springcloud_sell.hibernate_sequence' doesn't exist。
代码实现:通过JPA连接数据库插入输入,mysql数据库中数据表id设置自增长,实体如下配置:
解决方法:
将实体对象主键@GeneratedValue 改为 @GeneratedValue(strategy = GenerationType.IDENTITY)
错误原因分析:
GenerationType可选值 TABLE, SEQUENCE, IDENTITY, AUTO;
TABLE:使用一个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。(mysql不支持)
IDENTITY:主键由数据库自动生成(Oracle不支持)
AUTO:主键由程序控制。
我的代码GeneratedValue开始没有指定,程序自动选择SEQUENCE,造成的错误,指定配置就行。