码迷,mamicode.com
首页 > 数据库 > 详细

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect

时间:2014-05-12 23:35:43      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:blog   class   c   http   int   get   

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect  


#-----原理

Hibernate 运行期获得Dialect  

2010-07-28 12:59:58|  分类: 软件开发 |举报 |字号 订阅

    String dialect = ((SessionFactoryImpl) session.getSessionFactory()).getDialect()
    .getClass().getName();
//     //org.hibernate.dialect.MySQLDialect
 

如果是spring + hibernate则可以:

 String dialect = ((SessionFactoryImpl) getHibernateTemplate().getSessionFactory()).getDialect()
  .getClass().getName();
 
 
    
      作者 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
 
 
 #----实际代码

    private boolean ifMysql() {
        // attilax 老哇的爪子 上午10:24:49 2014年5月10日
        String dialect = ((SessionImpl) getSession()).getFactory().getDialect()
                .getClass().getName();
        // org.hibernate.dialect.MySQLDialect
        System.out.println(dialect);
        if (dialect.contains("MySQLDialect"))
            return true;
        else
            return false;
    }


    Session session = getSession();
        String sqlString = "SELECT   *   FROM  t_mb_awardweixin   where activityId="
                + actid
                + " and openId=‘"
                + uid
                + "‘ and   DATEDIFF(d,createTime,GETDATE())=0";
        // 以SQL语句创建SQLQuery对象
        if(ifMysql())
            sqlString= "SELECT   *   FROM  t_mb_awardweixin   where activityId="
                    + actid
                    + " and openId=‘"
                    + uid
                    + "‘ and  date(createTime)   =   curdate(); ";

        List l = session.createSQLQuery(sqlString)
 
 
 

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect,布布扣,bubuko.com

atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect

标签:blog   class   c   http   int   get   

原文地址:http://blog.csdn.net/attilax/article/details/25568909

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!