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

Hibernate执行原生SQL语句中函数出错的问题

阅读更多
用hibernate中的SQLQuery来执行原生SQL语句,如果语句中使用了SUM等等sql的函数一查询就会报错,提示找不到列''。
解决办法:取别名
SELECT emp.name,SUM(ld.amount) AS e FROM loandocument AS ld, employee AS emp WHERE ld.employee_id=emp.id AND emp.code LIKE '00010002%' GROUP BY ld.employee_id

SUM(ld.amount) AS e,在查询的时候处理SQLQuery query = session.createSQLQuery(sql).addScalar("e",Hibernate.Float);
这样查询就OK了
分享到:
评论
1 楼 dai_zhuo 2013-02-21  
楼主你好。根据你的方法没有异常了,但是查出来的数据为什么是错误的。而且只能查出来sum函数中的值没有 其它的列都没没有出来。求解!!!

相关推荐

    hibernate执行原生sql语句

    "hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...

    hibernate 执行原生sql的几种方式

    `doWork()`方法允许我们在一个回调函数中直接操作数据库连接,执行原生SQL。这种方式更底层,可以进行更复杂的数据库操作。 ```java session.doWork(new Work() { public void execute(Connection connection) ...

    Hibernate之原生Native SQL查询

    Native SQL查询允许我们直接使用SQL语句来与数据库交互,不受HQL的限制,可以充分利用SQL的功能,如存储过程、自定义函数、复杂的联接和子查询等。这种方式尤其适用于那些对数据库性能有极高要求或者对数据库结构有...

    hibernate 调用oracle函数

    4. **定义Hibernate Native SQL查询**:由于Hibernate默认不支持调用存储过程或函数,我们需要使用`@NamedNativeQuery`或`@SqlResultSetMapping`注解来定义一个原生SQL查询,用于调用Oracle函数。例如: ```java @...

    SQL语句封装

    - **函数或方法**:在编程语言中创建函数或方法,如在Python中使用def定义函数,Java中使用public void方法,将SQL语句作为参数传递,返回查询结果。 - **存储过程**:在数据库级别进行封装,创建存储过程,将一系列...

    SQL格式化功能(C#代码)

    SQL语句的编写质量直接影响到数据库的性能和维护性。当SQL语句变得复杂时,保持其整洁、易读就显得尤为重要。为了提升代码的可读性和可维护性,通常会使用SQL格式化工具对查询进行美化。本文将详细讲解一个基于C#...

    Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法

    在Hibernate中执行原生SQL查询时,可以通过`addScalar`方法指定返回值的类型,从而改变Hibernate对char类型字段的处理方式。具体操作如下: ```java Session session = this.getSession(); SQLQuery query = ...

    hibernate语句大全

    以上介绍了Hibernate中几种常见的查询方式,包括HQL、QBC、原生SQL以及一些高级查询技巧如分组、排序等。掌握这些基本操作可以帮助开发者更高效地使用Hibernate框架进行数据访问操作。随着实践经验的积累,还可以...

    BeetlSQL 2.10中文文档

    - **直接执行SQL模板语句**: 支持直接执行存储在模板中的SQL语句。 - **直接执行JDBC SQL语句**: 允许直接执行原始的JDBC SQL语句,增强了灵活性。 ##### 3.6 其他功能 - **强制使用主/从库**: 在有主从复制的环境...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    另一种方法是使用原生SQL查询,这样可以直接控制SQL语句的生成,包括使用LIMIT和OFFSET关键字(对于MySQL等数据库)或ROW_NUMBER()函数(对于SQL Server)来实现分页。这同样可以绕过Hibernate的默认只进结果集行为...

    hibernate动态数据库进化版

    例如,使用`org.hibernate.boot.model.naming.PhysicalNamingStrategy`接口来自定义表名生成策略,或者利用`Session.createSQLQuery()`方法直接执行原生SQL。 2. **多数据库支持**:为了适应不同的数据库,如MySQL...

    Hibernate3.2中文文档

    Hibernate 3.2 支持直接执行 SQL 语句,并能自动映射结果到 Java 对象。 ### 7. Caching 为了提高性能,Hibernate 3.2 引入了缓存机制。一级缓存(Session 缓存)是默认的,而二级缓存(可配置的)可以跨多个 ...

    2020版Hibernate 12 道.pdf

    原生SQL,可以直接执行标准的SQL语句;以及Criteria API,一种基于对象的查询方式,提供了更安全和类型的查询构建。 5. Hibernate实体类可以被定义为final吗? 实体类可以声明为`final`,但这将阻止Hibernate使用...

    hibernate query调用oracle存储过程

    在Hibernate中,调用存储过程通常通过Session对象的createNativeQuery()方法实现,这个方法用于创建原生SQL查询,可以方便地调用数据库的自定义SQL或者存储过程。以下是一个简单的示例,展示了如何调用一个不带参数...

    Hibernate3.2官方中文参考手册

    8. **Native SQL查询**:尽管HQL是主要的查询方式,但Hibernate也支持直接执行原生SQL,这在处理复杂或数据库特定的功能时非常有用。 9. **实体生命周期**:Hibernate定义了对象的生命周期状态(瞬态、持久化、托管...

    Hibernate中Criteria的完整用法

    而原生SQL查询则直接执行SQL语句,并通过`createSQLQuery`方法将结果映射到指定的实体类。 5. **本地SQL查询** 当需要执行不能通过Criteria API或HQL完成的复杂SQL查询时,可以直接使用`Session.createSQLQuery()`...

    Hibernate实战(第2版 中文高清版)

     15.2.3 Java Persistence中的原生SQL   15.3 过滤集合   15.4 高速缓存查询结果   15.4.1 启用查询结果高速缓存   15.4.2 理解查询高速缓存   15.4.3 什么时候使用查询高速缓存   15.4.4 自然标识符...

    深入浅出Hibernate

    当HQL或Criteria API无法满足特定需求时,Hibernate允许直接执行原生SQL查询,通过SQLQuery对象处理结果。 10. 性能优化: Hibernate提供了缓存机制,如一级缓存(Session级)和二级缓存(SessionFactory级),...

    孙卫琴hibernate电子课件.rar

    7. Native SQL和结果集映射:如何执行原生SQL并获取结果,以及如何将结果集映射到Java对象上,包括使用SQL查询和结果集映射文件。 8. Hibernate缓存机制:深入理解Hibernate的缓存策略,包括一级缓存、二级缓存以及...

    Hibernate criteria基本操作

    Hibernate Criteria 是一种在Java应用程序中使用Hibernate ORM框架执行SQL查询的方式。它提供了一种面向对象的方式来构建查询,使得代码更加可读和易于维护。Criteria API 提供了多种方法来构建复杂的查询,包括添加...

Global site tag (gtag.js) - Google Analytics