jpa查询字段会多个"_"的问题

本文记录了一次使用JPA查询MySQL数据库时遇到的字段大小写不匹配错误,具体表现为“Column 'type_str' not found”。通过排查发现,实体类中的字段名‘typeStr’与数据库字段‘type_str’大小写不一致导致问题。更改实体类字段名为小写后,问题得以解决。文章提醒开发者注意JPA在字段映射时可能存在的大小写敏感问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jpa执行sql语句,报错Culumn 'type_str' not found

Hibernate: select * from messagerecord m where m.touserphone=? order by m.sendtime desc
2019-08-08 14:24:41.635  WARN 53468 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: S0022
2019-08-08 14:24:41.636 ERROR 53468 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper   : Column 'type_str' not found.
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; SQL [select * from messagerecord m where m.touserphone=? order by m.sendtime desc]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query

但是我实体类和数据库的字段都没有字段 ‘type_str’

数据库如下:

实体类:

经过排查,纠结以及实验,终于发现错在什么地方,实体类的字段‘typeStr’是大写的,改成小写就可以了。

总结:因为对jpa文档不是很熟悉,不知道是不是jpa查询数据转化成实体的时候会把实体类中大写的字段用 '_'分离,希望以后注意。

如有更多jpa读取mysql字段大小写的问题,请多指教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值