`
greemranqq
  • 浏览: 968474 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

hibernate 自定义结果集

阅读更多

hibernate  中,有时候需要比较复杂的业务,比如需要从很多张表里面抽取数据,这时候就需要我们自定义结果集了。

 

假设:我需要分别从 7张表里面 分别取 a,b,c,d,e,f,g,h 字段。在原先的映射文件不满足的情况下,我建立了含有这些字段的实体bean.

 

1.Dao 的写法:

 

String sql = "...";
Session session = super.getSessionFactory().getCurrentSession();
SQLQuery query= session.createSQLQuery(sql.toString());
query.setResultTransformer(Transformers.aliasToBean(bean.class));//自定义bean

 

2. 当然这只是一种我比较喜欢的方式,hibernate 还提供了很多,具体请参与hibernate 的官方文档: Native SQL查询

 

3.值得注意的是Oracle 有些返回方式比较不一致,有些默认返回大写字段了,就会找不到Setter 方法。

  处理办法是:

  

Query query = getCurrentSession().createSQLQuery(sql)
		.addScalar("poNumber").addScalar("你自定义的字段名称");

还有一种:

select 
po_number \"po_number\",
payment_id \"payment_id\",
sum(invoice_amount) \"total_money\" 
from table;

经过转义一下,第一种不方便封装。第二种可读性差了。自己感觉吧。

还有更好的方式,希望能提供建议。不知道map 方便不。

 

4.在返回类型上,经常会出现 错误。比如 oracle 字段A 类型Number ,你实体定义为Integer 等类型会出错。

   这里解决方法是,定义为Object类型,或者查询A的时候 加上||‘’,强制返回字符串。

分享到:
评论

相关推荐

    深入浅出Hibernate中文版 part1

    4.7 自定义持久化实现 第5章 Hibernate高级特性 5.1 Hibernate持久化实现 5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 ...

    Hibernate+中文文档

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然...

    hibernate.cfg.xml中配置信息详解

    Hibernate.jdbc.use_scrollable_resultset 属性用于控制 Hibernate 是否使用 JDBC2 的可滚动结果集。 hibernate.jdbc.use_streams_for_binary Hibernate.jdbc.use_streams_for_binary 属性用于控制 Hibernate 是否...

    hibernate3.2中文文档(chm格式)

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然...

    HibernateAPI中文版.chm

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然...

    hibernate 教程

    缩小结果集范围 12.3. 对结果排序 12.4. 关联(Associations) 12.5. 动态关联对象获取(Dynamic association fetching) 12.6. 根据示例查询(Example queries) 13. 原生SQL查询 13.1. 创建一...

    深入浅出Hibernate中文版 part2

    4.7 自定义持久化实现 第5章 Hibernate高级特性 5.1 Hibernate持久化实现 5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 ...

    Hibernate 中文 html 帮助文档

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然标识...

    Hibernate中文详细学习文档

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然...

    最全Hibernate 参考文档

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 16. Native SQL查询 ...

    hibernate 体系结构与配置 参考文档(html)

    限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然标识...

    Hibernate教程

    16.2. 限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. 查询示例 16.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 16.8. 离线(detached)查询和子查询 17. Native SQL...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然...

    spring2.5 struts2.0 hibernate3.2.5 搭建的企业级开发基础模块

    Hibernate:spring.local.hibernate.cfg.xml Struts:struts.xml、struts.properties 配置很简单,用点心看就会了,多的不说了,好好享受咯 哦 忘记介绍了, 当中还有本人写的几个自定义标签:...

    hibernate

    缩小结果集范围 12.3. 对结果排序 12.4. 关联(Associations) 12.5. 动态关联对象获取(Dynamic association fetching) 12.6. 根据示例查询(Example queries) 13. 原生SQL查询 13.1. 创建一...

    hibernate3.04中文文档.chm

    16.2. 限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. 查询示例 16.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 16.8. 离线(detached)查询和子查询 17. Native SQL...

    Hibernate3+中文参考文档

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 16. Native SQL查询 ...

    hibernate 框架详解

    限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. 查询示例 16.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 16.8. 离线(detached)查询和子查询 17. Native SQL查询 ...

    Hibernate参考文档

    15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组(grouping) 15.8. 离线(detached)查询和子查询 15.9. 根据自然标识...

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

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

Global site tag (gtag.js) - Google Analytics