问题描述
在使用JPA的过程中,发现了查询数据,数据库中字段是有数据而查出来为空的情况。具体如下图:

问题分析解决
数据库字段信息如下:

数据库字段不是以下划线为规则。
再去查看实体类的内容

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

本文描述了在使用JPA进行数据查询时遇到的一个问题:数据库中有数据但查询结果为空。通过调整@Column注解中的name属性,将驼峰命名转换为下划线分隔的小写形式,解决了这一问题。
38

被折叠的 条评论
为什么被折叠?



