天天看点

CHECK the manual that corresponds TO your MySQL SERVER VERSION FOR the RIGHT syntax TO USE near.....

使用spingdata+jpa+hibernate来对数据库进行插入操作的时候,出现了一个报错信息,说sql语法有误。报错信息如下:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL SERVER VERSION FOR the RIGHT syntax TO USE near......
           

这就很奇怪了,通过orm框架向数据库中存储数据,sql是框架自动生成的,不应该有错啊。后来经过仔细查看,才发现是因为我的实体名字是order,并且没有指定存入数据库时数据库的名字。那么数据库对应的表明默认就是order。但是又有mysql里面有order关键字,所以就产生了上面的冲突。在@Entity里面另外指定一个数据库的表名就好了。比如@Entity(name=”t_order”)。花了一个小时的时间才找到问题的原因,记录一下。