`

Hibernate中使用SQL语句的误用

阅读更多
当发生如下异常时:

org.hibernate.QueryException: addEntity() or addScalar() must be called on a sql query before executing the query. [sql]

第一方案:

应该检查是不是
Query query=session.createSQLQuery(hql);的错误
如果确定要使用的是hql时,在hibernate中应改为:
Query query=session.createQuery(hql);


第二方案:

createSQLQuery一定要用addEntity方法

例如:实体类名为Student

  
   String sql = "select * from student as stu";

即 Query query = session.createSQLQuery(sql).addEntity("stu",Student.class);
// 告知Hibernate的list中的返回值设置成Student类型数据。

后面的使用都是一样的了。
分享到:
评论

相关推荐

    hibernate执行原生sql语句

    在上面的代码中,我们使用 `HibernateCallback` 接口来执行原生 SQL 语句,该接口提供了一个 `doInHibernate()` 方法,该方法将在 Hibernate 事务中执行。我们可以在该方法中执行原生 SQL 语句,并使用 `Connection`...

    Hibernate中Sql语句

    ### Hibernate中使用SQL而非HQL语句的知识点详解 在Java开发中,Hibernate作为一个非常流行的ORM框架,提供了多种查询方式,其中就包括了HQL(Hibernate Query Language)和原生SQL查询。本文将针对给定代码片段中...

    Hibernate调用配置文件中的sql语句

    通过上述步骤,我们就可以在Hibernate项目中方便地使用配置文件中的SQL语句了。这种方式提高了代码的可读性和可维护性,特别是在处理复杂SQL时,避免了硬编码SQL到Java代码中。同时,它还支持参数化查询,能够有效...

    让hibernate输出sql语句参数配置.doc

    hibernate.use_sql_comments 参数用于如果开启,Hibernate 将在 SQL 中生成有助于调试的注释信息。其取值为 true 或 false。 14. hibernate.jdbc.fetch_size hibernate.jdbc.fetch_size 参数用于指定 JDBC 抓取...

    Hibernate生产SQL语句

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者通过面向对象的方式操作数据库,而无需直接编写SQL语句。本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来...

    hibernate实现动态SQL查询

    在Hibernate中,我们可以创建自定义的SQL查询语句并将其配置在映射文件(.hbm.xml)中。这些自定义SQL可以在需要时动态调用,从而实现动态查询。例如,我们可以为一个实体类定义多个HQL或SQL查询,根据实际需要选择...

    Java打印漂亮的SQL语句(被格式化的SQL语句)

    在Java编程中,调试SQL语句是开发过程中的常见任务,尤其当面对复杂且冗长的查询时。为了提高效率并使SQL语句更易于理解和分析,格式化SQL语句显得尤为重要。标题提及的"Java打印漂亮的SQL语句(被格式化的SQL语句)...

    采用p6spy完整显示hibernate的SQL语句

    在开发和调试基于Hibernate的Java应用时,有时我们需要获取到SQL语句的完整形式,而不仅仅是Hibernate默认输出的参数化形式。在这种情况下,P6Spy是一个非常有用的工具。P6Spy是一个开源的JDBC代理库,它允许我们...

    使用p6spy完整显示hibernate的SQL语句

    4. **启用Hibernate SQL日志**:在Hibernate的配置中,你需要开启SQL语句的日志输出,通常是通过设置`hibernate.show_sql`和`hibernate.format_sql`属性为`true`。 5. **测试和分析**:一旦配置完成,运行你的应用...

    hibernate将本地SQL查询结果封装成对象

    首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...

    Hibernate使用xdoclet生成映射文件和sql语句

    - 注解配置:在实体类中使用XDoclet支持的Hibernate注解,如`@Entity`定义实体,`@Table`指定数据库表名,`@Column`定义字段与列的对应关系等。 - 执行生成:运行XDoclet,它会扫描源代码中的注解,生成相应的.hbm...

    hibernate显示不带?的完整sql

    在开发过程中,为了调试和优化SQL查询,有时我们需要查看Hibernate生成的完整SQL语句,包括其参数值。通常,Hibernate默认输出的SQL语句会用问号(?)作为占位符,这在理解查询逻辑时可能会带来不便。本文将详细介绍...

    C#不写SQL语句的数据库操作

    使用Entity Framework,你可以通过LINQ(Language Integrated Query)来查询数据库,这是一种将查询语句直接嵌入到C#代码中的方式,无需编写SQL。例如,创建一个新用户: ```csharp using (var context = new ...

    hibernate 执行原生sql的几种方式

    在Java的持久化框架Hibernate中,执行原生SQL(Native SQL)是常见需求,尤其是在处理特定数据库特性或者优化性能时。本篇文章将详细介绍在Hibernate中执行原生SQL的几种方式,以及它们各自的适用场景和优缺点。 1....

    spring_Framework+经典SQL语句大全+Hibernate中文API

    4. 示例代码或项目:可能包含了一些使用Spring和Hibernate的示例程序,展示如何在实际开发中整合这两个框架,以及如何编写和执行SQL语句。 学习并掌握Spring Framework、经典SQL语句和Hibernate,对于Java开发人员...

    Java 使用注解拼接SQL语句

    在"Java使用注解拼接SQL语句"的场景中,我们可能会定义一个如`@Select`、`@Insert`、`@Update`或`@Delete`的注解,用于标注SQL查询相关的代码。例如,我们可以定义一个`@Query`注解,其中包含SQL语句的模板或者参数...

    java操作mysql数据库,不写sql语句版

    在Java编程中,与MySQL数据库交互通常涉及到使用SQL语句来执行CRUD(创建、读取、更新、删除)操作。然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,...

    Struts 1.1、Hibernate 3.0和SQL Server 2005数据库驱动包

    SQL Server 2005的JDBC驱动程序(sqljdbc.jar)允许Java应用程序连接到SQL Server数据库,执行SQL语句,以及管理数据库连接。 在提供的压缩包中,"jakarta-struts-1%5B1%5D.1-src.rar"包含了Struts 1.1的源代码,这...

    Hibernate在Myeclipse下SQL语句演示

    在Myeclipse这样的集成开发环境中,使用Hibernate可以方便地进行SQL语句的编写和调试。本演示将重点讲解如何在Myeclipse下利用Hibernate执行HQL(Hibernate Query Language)和Criteria查询。 ### Hibernate核心...

Global site tag (gtag.js) - Google Analytics