`
HuNanPengdake
  • 浏览: 232232 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hibernate使用SQL查询同名字段结果问题

阅读更多

文章只是简短的记录一下这个问题,其实早两年就发现了,但是没有刻意去记录,导致在同一个地方跌倒两次,耻辱啊...

 

问题描述:

select a.id, b.id from c_app_info a inner join a_app_info b on a.packName=b.packName

这段语句直接放在数据库执行得到的结果是

a.id        b.id

1             5

 

Hibernate在使用SQL查询的时候,对于结果集中出现同名字段的情况,处理结果有问题,具体结果表现为:

a.id         b.id

1               1

 

个人认为就是框架问题。网上很多人说了很多种我认为比较复杂的方式回避这个问题,我在这说一种更简单的回避方式:

select ifnull(a.id,null) cId,ifnull(b.id,null) aId from c_app_info a inner join a_app_info b on a.packName=b.packName

 

只需将SQL改为上面这样就OK了,各位可以去测试,本人已测试通过的。

分享到:
评论

相关推荐

    hibernate将本地SQL查询结果封装成对象(最终)

    使用本地sql语句查询后,无需再使用Object对查询结果进行强制转换,而是直接将查询结果放到实体Bean里了。 PS: 其实只有一版,这里只所以叫最终版是因为该附件我上传了好几天传不上去,到最后报告说‘资源已经存在...

    其他类别Struts+Hibernate实现MVC

    1 先把Sqlserver数据还原 名字是 MyData 2 打开jbuilder2006 打开工程文件 修改一个xml文件 hibernate.cfg.xml 里面包括 <property name="connection.username">sa</property> sqlserver管理员名字 ...

    Hibernate注释大全收藏

    Hibernate 使用 SQL Union 查询来实现这种策略。 这种策略支持双向的一对多关联,但不支持 IDENTIFY 生成器策略,因为ID必须在多个表间共享。一旦使用就不能使用AUTO和IDENTIFY生成器。 每个类层次结构一张表 @...

    Hibernate注解

    * 5.identity 使用SQL Server和MySQL的自增字段,这个方法不能放到Oracle中,Oracle不支持自增字段,要设定sequence(MySQL和SQL Server中很常用)。等同于JPA中的IDENTITY * 例:@GeneratedValue(generator = ...

    Hibernate Search 3.0 GA

    不久前Hibernate推出了Hibernate Search 3.0 GA,由它的名字大家也可以大概猜到它的作用是对数据库中的数据进行检索的。它是hibernate对著名的全文检索系统Lucene的一个集成方案,作用在于对数据表中某些内容庞大的...

    struts+hibernate增加用户的简单例子,很适合初学者

    这些天我们学习hibernate,我亲自做的一个struts+hibernate的简单例子。 数据库用的是sqlserver 数据库名字是lhyz 表为USERS 字段有UID(PK) USERNAME PASSWORD

    用Struts、Hibernate和display超简单实现分页

    <br>心得: 一、今天才明白使用Hibernate还有一个好处,你可以随便改数据库,你可以一会用oracle,一会用sqlserver,一会用mysql,总之你写成的代码换一种数据库,最多就是改一下那几个xml文件,个人感觉这才是...

    Apache Shiro+SpringMVC+Hibernate Search企业信息管理系统

    项目技术选型: 1、Spring Framework 3.2 2、SpringMVC 3.2 3、Apache Shiro 1.2 4、Hibernate 4.1 5、Hibernate Validation 5.0 ...6、Hibernate Search 4.2 (Apache...A:如果sql文件比较多呢,来一整合调用方法吧

    自动创建SqlServer对应的实体和基本sql

    当不用持久层框架(ibatis,hibernate等)的时候,使用单纯的jdbc操作的时候,创建实体类,写基本的insert和update很烦人。还容易错。中午用午睡时间赶紧弄了个工具。使用起来很简单,只需要给数据库连接串和表名字就...

    ssh(structs,spring,hibernate)框架中的上传下载

    这是Hibernate3引入的新特性,对于包含重量级大数据的表字段,这种抽取方式提高了对大字段操作的灵活性,否则加载Tfile对象的结果集时如果总是返回fileContent,这种批量的数据抽取将可以引起数据库的"洪泛效应"。...

    spring hibernate实现动态替换表名(分表)的方法

    下面小编就为大家带来一篇spring hibernate实现动态替换表名(分表)的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java6string源码-JdbcMapper:JdbcMapper是一个ORM,可以快速轻松地将普通SQL查询映射到各种POJO(Plai

    查询,并使用它们从不同类型集合的数据库中快速轻松地选择 POJO(Plain Old Java 对象)。 类型安全贯穿始终,因此不需要强制转换或忽略警告。 有两种不同的方法可以实现这一点。 JdbcMapper 在编译时生成代码,...

    jdbc基础和参考

    提供预编译的功能,某种程度上可以避免sql注入的问题 4.提前做语法检查,在给?赋值的过程中要求数据类型一定要匹配,这样在某种程度上可以避免因为数据类型不匹配而发生的异常 CallableStatement:主要用来执行...

    Stuts +Spring + Hibernate整合简单项目开发

    Demo实现了Spring 管理Stuts 和hibernate 技术(内容很简单,适合初学者)我是因为下载一个没有分了,所以上传一个简单的Demo上去。功能实现了从数据库映射出数据;供参考,含数据.sql文件;(因为spring可以管理...

    ssh2全注解demo(sql server 2008)

    基于注解Annotation的最新版SSH(Struts2.3.7+Hibernate4.1.9+Spring3.2.0)整合开发,真正实现零配置。记得修改数据源。

    【计算机软件毕业设计】二手车交易平台的分析、设计与实现文献综述1.doc

    文献综述 摘 要 Web...无法使用多个表的复合查询,必须使用SQL语句,这样 使得表的映射文件失去意义。 1.4 Hibernate框架 M. Raible学者认为,Hibernate是一个面对Java环境的对象/关系数据库映射工具, 它对JDBC进

    springmybatis

    其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...

    MySQL 6 绿色精简BAT版 2.24 MB

    <br>*非商业 - 免费精简版 产品名字 版本 大小 下载 Navicat for MySQL 简体中文 (Windows版) *非商业使用 8.0.27 7.7 MB 地址1 地址2 Navicat for MySQL 英文 (Mac OS ...

    Java高手真经 应用框架卷 源码

    持久层框架Hibernate:讲解Hibernate入门与核心技术,分别实现MySQL、Oracle、SQL Server数据库的信息系统开发。持久层框架iBATIS:讲解iBATIS入门与核心技术,分别实现MySQL、Oracle、SQL Server数据库的信息系统...

    JSP MySQL真分页.rar

    我的名字叫张帅,我很喜欢JSP。刚刚毕业,还没有找到工作,心里是郁闷的很呀~~~,想在网上找点项目去做,可是网上的大团队都很多,所JSP的项目很难找。 我们欧尚团队一共有四个人。一个美工,三个程序员,曾在东北做...

Global site tag (gtag.js) - Google Analytics