解决springdatajpa 在解析实体类的字段时候驼峰自动转为下划线问题 问题描述

springboot 在配置jpa时,利用idea自带工具逆向工程生成实体类,结果在调用findOne的时候,报错
错误内容如下所示:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'shasset0_.asset_type_name' in 'field list'at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_80]at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_80]at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_80]at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_80]at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.47.jar:5.1.47]at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.47.jar:5.1.47]

实体类片段

@Entity
@Table(name = "sh_asset")
public class ShAsset {private String id;private String assetTypeName;private String assetName;private String assetCode;private String assetType;private String area;private String orgname;private String username;private String contract;private String address;private String recorderId;private String recorderName;private Timestamp recorddate;private String iPadd;private Timestamp editTime;private Integer assetStatus;private String maCadd;private Date userDate;private Integer leaseState;@Id@Column(name = "id")public String getId() {return id;}public void setId(String id) {this.id = id;}@Basic@Column(name = "asset_typeName")public String getAssetTypeName() {return assetTypeName;}public void setAssetTypeName(String assetTypeName) {this.assetTypeName = assetTypeName;}

问题原因

由于springboot 中jpa默认自动将实体类中的驼峰命名转化为下划线隔开的方式进行数据库查询,将字段getAssetTypeName自动转换为 asset_type_name导致数据库找不到该字段

解决办法

在配置文件中取消自动将驼峰命名转为下划线形式

 jpa:hibernate:naming:physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

解决springdatajpa 在解析实体类的字段时候驼峰自动转为下划线问题相关推荐

  1. mybatisplus 实体类的字段名与数据库的字段名不一致的解决办法

    我们在查询数据库时经常会碰到数据库的字段名与实体类的字段名不一致的情况,例如报如下的错误 使用mybatisplus可以使用以下几种方式进行字段名的匹配: 把实体类的字段名改成和数据库的字段名一致,当 ...

  2. SpringDataJpa的使用 – 实体类序列化

    SpringDataJpa的使用 – 实体类序列化 前面提到了 JAP 的几个常用注解 @OneToOne.@OneToMany.@ManyToOne.@ManyToMany 的使用,但没有说 序列化 ...

  3. springboot项目中一个实体类引用其它实体类的字段并显示到页面上

    1.需要在该实体类中添加引用实体类的字段,并添加getter和setter方法,并添加@Transient注解,或者使用@TableField(exist = false)注解.如下图: 2.在map ...

  4. javabean反射改字段内容_java反射机制给实体类相同字段自动赋值实例

    一.封装一个工具类 1.简易版 package net.aexit.construct.acceptance.websky.utils; import java.lang.reflect.Field; ...

  5. 设置实体类中字段为非数据库字段

    设置实体类中字段为非数据库字段,加以下注解: @TableField(exist = false) 是不是数据库字段:true是:false不是 源码:不设置则默认是数据库字段

  6. java map 递归_Java实现递归将嵌套Map里的字段名由驼峰转为下划线

    摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述### 在进行多语言混合编程时,由于编程规范的不同, ...

  7. 解决使用mybatis-plus时,生成的SQL大写变小写加下划线

    解决使用mybatis-plus时,生成的SQL大写变小写加下划线 在application.xml加上以下配置 mybatis-plus.configuration.map-underscore-t ...

  8. MySQL查询多表定义实体类_自己设计一个 JAVA + MyBatis 解析实体类多表通用查询

    先来处理一下查询的字段和用到的表吧 //虽然我们使用的时候是实体,但最终还是要解析成sql的,那么我们需要想好解析成sql 时候所用到的东东,提前准备好 class TableEntity { Str ...

  9. aop+注解 实现对实体类的字段校验_SpringBoot实现通用的接口参数校验

    来自:掘金,作者:cipher 链接:https://juejin.im/post/5af3c25b5188253064651c76 原文链接:http://www.ciphermagic.cn/sp ...

最新文章

  1. oracle or条件后 排序,WHERE条件和排序
  2. base64格式的图片上传阿里云
  3. 分析access.log
  4. Java Apple_GitHub - izhaorui/AppleLogin-java: 苹果登录 Sign in with Apple 服务端校验
  5. CentOS查看系统连接状态
  6. python字典popitem_Python 字典(Dictionary) | 菜鸟教程
  7. 再回首,Java温故知新(六):Java基础之变量
  8. C++程序设计谭浩强 全部习题答案
  9. 游戏开发中的向量数学
  10. VSS下载地址及安装使用
  11. MySQL索引数据结构与算法
  12. 记一下怎样关闭windows defender安全中心
  13. 2021年危险化学品经营单位主要负责人考试及危险化学品经营单位主要负责人考试试卷
  14. 数据结构之——关键路径
  15. go中宕机与恢复 panic/recover 介绍
  16. Python Journey - Day2 - 基本数据类型
  17. elasticsearch7.6 + Oracle12 数据同步 logstatsh 无缝衔接一天同步一次
  18. 【cmd命令】查看端口占用情况
  19. python自动垃圾分类_现在垃圾都得分类,如何利用Python快速实现一个垃圾分类APP?...
  20. 在线免费无限制的 PDF 处理工具(转换、编辑、分割、合并、压缩)

热门文章

  1. 根文件系统使用登录模式
  2. 我的工作流为什么启动不了
  3. 什么是服务器端口?服务器端口都有哪些?
  4. SQL SERVER 系列(7)数据表排序和聚集函数
  5. 维纳滤波原理(Wiener Filter)
  6. Matlab 图像分块(不重叠、重叠)
  7. 开源免费的C/C++网络库(c/c++ sockets library)
  8. Caffe官方教程翻译(9):Multilabel Classification with Python Data Layer
  9. R语言编程艺术#01#数据类型向量(vector)
  10. Python之lambda表达式和内置函数