请问hibernate中如何实现纯sql查询并且查询结果为跨多个对象的属性字段,急

luofuchun 2006-02-15 04:53:45
需求如下:
1、实现select count(*) from table_1 如何编码
2、实现select obj1.f1 ,obj1.f1 ,obj1.f2,obj2.f2 from obj1 ,obj2 where obje1.f1=obj2.f1 如何编码
谢谢!!!!
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luofuchun 2006-02-17
  • 打赏
  • 举报
回复
谢谢各位支持,我参照 liuyxit(我不是你的上帝)的做法,做了一遍,成功了,但是感觉还是比较麻烦的一种解决办法:
Iterator results = session.createQuery(
"select sum(eg.jfjs) ,count(eg) from PsnChkPay eg where eg.hdxlh='2000986194'")
.list()
.iterator();

while ( results.hasNext() ) {
Object[]row =(Object[])results.next();
java.math.BigDecimal type = (java.math.BigDecimal) row[0];
Integer count = (Integer) row[1];
System.out.print(type+" xxx "+count);
}

SQLQuery query=session.createSQLQuery(
"SELECT a.jfjs jfjs,b.dwmc dwmc FROM psn_chk_pay a , corporation b WHERE a.jfdwbh=b.cid and a.hdxlh='2000986194'");
query.addScalar("jfjs",Hibernate.BIG_DECIMAL );
query.addScalar("dwmc",Hibernate.STRING);
results = query.list().iterator();

while ( results.hasNext() ) {
Object[]row =(Object[])results.next();
java.math.BigDecimal type = (java.math.BigDecimal) row[0];
String count = (String) row[1];
System.out.print(type+" xxx "+count);
}
yingtju 2006-02-17
  • 打赏
  • 举报
回复
我是这么做的:
1.创建一个视图,包含你需要的字段
2.创建一个javabean,包含需要字段,要有包含这些字段的构造函数
3.hsql:
select new Xxx(obj1.f1 ,obj1.f1 ,obj1.f2,obj2.f2)from ...
liuyxit 2006-02-16
  • 打赏
  • 举报
回复
可解决你的两个问题:
Iterator results = sess.createQuery(
"select cat.color, min(cat.birthdate), count(cat) from Cat cat " +
"group by cat.color")
.list()
.iterator();

while ( results.hasNext() ) {
Object[] row = results.next();
Color type = (Color) row[0];
Date oldest = (Date) row[1];
Integer count = (Integer) row[2];
.....
}
anticlockwise_5 2006-02-16
  • 打赏
  • 举报
回复
这些在Hibernate自带的文档上都有啊,在第17章,Native SQL查询,自己去看吧,一会说不清的
Saro 2006-02-16
  • 打赏
  • 举报
回复
这种事情...其实用ibatis实现较好.
hjfhjf 2006-02-15
  • 打赏
  • 举报
回复
我也正愁这个事情呢

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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