`

把HQL语句转换为SQL语句的方法

    博客分类:
  • SSH
阅读更多

Hibernate版本3.3.2GA

 

protected String hqlToSql(String hql,
		org.hibernate.SessionFactory sessionFactory) throws Exception {
	org.hibernate.hql.ast.QueryTranslatorImpl queryTranslator = new org.hibernate.hql.ast.QueryTranslatorImpl(
			hql, hql, java.util.Collections.EMPTY_MAP,
			(org.hibernate.engine.SessionFactoryImplementor) sessionFactory);

	queryTranslator.compile(java.util.Collections.EMPTY_MAP, false);

	return queryTranslator.getSQLString();
}

 

 

注:

以上转出来的SQL是不带参数值的,即HQL中的?转换后仍然是?。

转成完全可直接copy执行的SQL,尚在研究中……

 

分享到:
评论

相关推荐

    sql转换hql工具

    之前写好SQL,再到代码里面来写,语句复杂的看的时不时细节会忘记,用sql转换hql工具,直接贴近了就可以了;

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

    本篇将深入探讨如何在Hibernate中调用配置文件中的SQL语句,以此提高代码的可维护性和灵活性。 首先,理解Hibernate的核心概念至关重要。Hibernate是一个对象关系映射(ORM)框架,它将Java对象与关系数据库中的...

    HQL语句 HQL语句

    HQL语句 HQL语句 HQL语句 HQL语句 HQL语句

    全面解析HQL语句 非常详细直接的HQL语句的功能介绍

    标题:“全面解析HQL语句 非常详细直接的HQL语句的功能介绍” 描述:“非常详细直接实用的HQL语句的功能介绍看过的人保准都说好” 本篇文章将深入探讨HQL(Hibernate Query Language)的核心功能及其在数据查询...

    HQL语句大全HQL语句大全

    - 如果HQL语句中有参数,则需要为这些参数设置值。 ```java query.setParameter("eventTitle", "测试事件"); ``` 5. **执行查询并处理结果** - 调用Query对象的`list()`方法来执行查询,并返回一个包含查询...

    HQL语句查询

    HQL语句查询

    hql语句大全hql语句大全

    它提供了面向对象的语法,允许开发人员以一种接近于编程语言的方式进行数据访问,极大地简化了SQL语句的编写过程,提升了开发效率和代码的可读性。 #### HQL语句类型与结构 ##### 1. SELECT子句 在Java环境中,HQL...

    HQL语句的语法

    HQL语句的语法结构与SQL相似,但更注重对象和类的概念。以下将详细介绍HQL语句的几个关键部分: 1. **from 子句**:这是HQL查询的起点,用于指定要查询的持久化类。例如,`from Person as p`表示从`Person`类中选择...

    监控sql输出-可以查看hql转成sql的结果值

    HQL将这些面向对象的查询转换为对应数据库系统的SQL语句,以实现与各种数据库的兼容。这个过程通常是透明的,但有时我们需要了解具体转换后的SQL,以便于分析性能问题或者解决数据库相关的异常。 在描述中提到的...

    hql语句语法详解hql语句

    ### HQL语句语法详解 HQL(Hibernate Query Language)是一种面向对象的查询语言,它提供了灵活而强大的机制来查询数据库中的数据,并将其映射到Java对象上。本篇文章将根据给定的信息深入探讨HQL的基本语法结构...

    常用的hql语句用法解析

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它提供了一种将数据库操作转换为面向对象的方式。HQL(Hibernate Query Language)是Hibernate提供的面向对象的查询语言,它类似于SQL,但更加...

    常用的HQL语句下载

    以下是一些常用HQL语句的使用与说明: 1. **HQL更新语句**: 更新操作允许您修改数据库中的对象属性。在示例中,第4行的HQL语句`update PhUser set realName=?`用于更新`PhUser`表中所有记录的`realName`字段。第5...

    hql基础语句

    HQL(Hibernate Query Language)是Hibernate框架中用于操作对象关系映射(ORM)的查询语言,它是SQL的面向对象版本,使得开发者可以更方便地在Java应用中进行数据库查询。本教程将深入讲解HQL的基础语句,包括ID...

    HQL语句详解Select/update/deletefromwhere...

    例如,要将年龄为18的用户更新为20岁,可以使用以下HQL语句: ```java Transaction trans = session.beginTransaction(); String hql = "update User user set user.age = 20 where user.age = 18"; Query query...

    学习HQL语句

    HQL查询语言基础知识 HQL(Hibernate Query Language)是一种面向对象的查询语言,建立在面向对象的基础上。它提供了类SQL查询的功能,但查询目标是对象,而不是记录。HQL 拥有面向对象语言的所有特性,包括多态、...

    hql语句 使用大全

    ### HQL语句使用大全 HQL(Hibernate Query Language)是一种面向对象的查询语言,它提供了灵活而强大的数据检索方式,使开发人员能够更高效地与数据库交互。本文将详细介绍HQL的基本用法及高级特性。 #### 1. ...

    hibernate执行原生sql语句

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

    Hql语句注意事项总结

    一种方法是动态构建Hql语句,将数组元素拼接成一个逗号分隔的字符串,然后在`in`子句中使用这个字符串。例如,`id in ('1','2','3')`。另一种方法是使用Hibernate的参数绑定功能,直接将数组作为参数传递,Hibernate...

Global site tag (gtag.js) - Google Analytics