问题描述
在使用JPA的过程中,发现了查询数据,数据库中字段是有数据而查出来为空的情况。具体如下图:
问题分析解决
数据库字段信息如下:
数据库字段不是以下划线为规则。
再去查看实体类的内容
发现也是能对应得上的。但是就是查不到
通过尝试,发现@Column(name = “”)有一些坑
@Column(name = “gsType”)
private Integer gsType;
把@Column(name = “gsType”)改成@Column(name = “gstype”),问题解决了。
这里的@Column注解中的 name 属性,并不是跟数据库字段一样
在JPA源码中,应该是在碰到驼峰标识的时候,将转成了下划线”_”+小写的形式,所以 gsType 会转成 gs_type去查询。所以查出来的字段数据为null
这里的JPA映射方式,最好还是学习源码了解,仅个人观点。