Hibernate JPA查询为空问题

时间:2024-03-20 07:59:06

问题描述

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

Hibernate JPA查询为空问题

问题分析解决

数据库字段信息如下:
Hibernate JPA查询为空问题

数据库字段不是以下划线为规则。

再去查看实体类的内容

Hibernate JPA查询为空问题

发现也是能对应得上的。但是就是查不到

通过尝试,发现@Column(name = “”)有一些坑

@Column(name = “gsType”)
private Integer gsType;

把@Column(name = “gsType”)改成@Column(name = “gstype”),问题解决了。

这里的@Column注解中的 name 属性,并不是跟数据库字段一样

在JPA源码中,应该是在碰到驼峰标识的时候,将转成了下划线”_”+小写的形式,所以 gsType 会转成 gs_type去查询。所以查出来的字段数据为null

这里的JPA映射方式,最好还是学习源码了解,仅个人观点。