Hibernate:could not execute query 列名无效

java.sql.SQLException: 列名无效

最近换了个项目组,数据访问层从使用Mybatis变为Hibernate,开发过程中也遇到一些小麻烦,比如我的XX.hbm.xml文件中的sql打印出来执行查询,是OK的。但是在项目中调用就会报错 java.sql.SQLException: 列名无效,如下图。

报错截图

原因: 由于习惯了Mybatis自己写SQL,在XX.hbm.xml文件中,select 字段写少了,导致在映射类中,存在字段A,而SQL查询的结果集中却没有A字段
解决: select 尽量使用*号吧,查询出全部字段,不会报错。不过相对效率会低。

随便一提,
Mybatis和Hibernate使用感受比较:

MybatisHibernate
优点1.SQL灵活,对于复杂查询有良好的支持;2.使用简洁封装了CRUD操作,对单表查询有非常好的支持
缺点需要开发者指定ResultMap一般情况下需要查询全部字段。不过可以使用HQL语句解决,或者使用DetachedCriteria高级查询
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值