hibernate查询和直接在数据库运行sql的结果不一样

heroshen1988 2011-12-13 11:59:07
如题,我吧hibernate要执行的sql粘贴到数据库执行,但是执行的结果不一样,什么原因?
1、数据是从两个表(A和B)中取出来的,并且这两个表各种字段都是一样的(业务原因)
2、sql:select distinct T1.* from a T1 where.... union all select distinct T2.* from b T2 where... order by...
hibernate:
id
1(表A数据)
1(表A数据)

直接在数据库中执行:
id
1(表A数据)
1(表B数据)

直接在数据库中的结果是所期望的结果
...全文
191 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你要仔细看 不一样在哪里?

是少了记录 ? 还是压根就是 返回字段不正确?

然后跟踪代码
陈鋆 2011-12-13
  • 打赏
  • 举报
回复
hibernate中form后的是实体类名.你定义实体类中的字段
sql和hql访问数据库的机制不一样的
heroshen1988 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cs123456789dn 的回复:]
一般都是一样的其实hibernate就把jdbc给封装了 如果你的实体类和sql语句都是对应表中的一样的话
应该是可以得到你想要的期望值可能是不是你的hql语句写的不对
[/Quote]
我试验的就是hibernate的hql生成后的sql。。。。
对java有感觉 2011-12-13
  • 打赏
  • 举报
回复
一般都是一样的其实hibernate就把jdbc给封装了 如果你的实体类和sql语句都是对应表中的一样的话
应该是可以得到你想要的期望值可能是不是你的hql语句写的不对

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧