jpa出现异常com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'news0_.xxx_xxx'
理解问题
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'news0_.user_name' in 'field list'
首先先让我们理解一下出错的意思:
Unknown column 'news0_.user_name' in 'field list' = “字段列表”中的未知列“news0_.user_name”
出现问题的原因是找不到user_name列,但是你会发现你自己根本就没有写过这个user_name列,那么你可以去实体类看一下是否使用驼峰命名法。
结果一看发现有个列叫userName,出错的地方就是这里,jpa会将没有写注解的列自动识别,会将大写N变成_n。
接着就出现了user_name这种报错
解决方法:
解决方法有两种:
随意选择其中一种即可解决
-
给出错的位置加上注解,列就是
@Column(name = "username"),表就是@Table(name = "username")注意:name的值必须是全部小写,否则无效
-
对jpa进行配置
application.yml配置文件:spring: jpa: hibernate: naming: implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl或
application.properties配置文件spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

浙公网安备 33010602011771号