将 Hibernate 的 HQL 转成最终要执行的 SQL 语句

[1].[代码] HQL2SQL.java 跳至 [1]

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
  * HQL2SQL.java of DLOG4J_E40
  * 作者: Winter Lau
  * 时间: 2008-1-30
  * 项目主页: <a href="http://www.dlog4j.com/">http://www.dlog4j.com</a>
  */
package com.dlog4j.tester;
 
import org.hibernate.hql.FilterTranslator;
import org.hibernate.hql.QueryTranslatorFactory;
import org.hibernate.impl.SessionFactoryImpl;
 
import com.dlog4j.dbaccess.HibernateUtils;
 
/**
  * HSQL to SQL
  * -Djava.ext.dirs=webapp/WEB-INF/lib;packages -cp webapp/WEB-INF/classes
  * @author Winter Lau
  */
public class HQL2SQL {
 
     /**
      * @param args
      */
     public static void main(String[] args) {
         SessionFactoryImpl sfi = (SessionFactoryImpl) HibernateUtils.getSessionFactory();
         String hql = "FROM UserBean ORDER BY convert_gbk(name)" ;
         QueryTranslatorFactory qtf = sfi.getSettings().getQueryTranslatorFactory();
         FilterTranslator qt = qtf.createFilterTranslator(hql, hql, null , sfi);
         qt.compile( null , false );
         System.out.println(qt.getSQLString());
     }
 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值