atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect
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的更多相关文章
- atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型执行期获得Dialect
atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型执行期获得Dialect #-----原理 Hibernate 执行期获得Dialect 2010-07-28 12:59 ...
- 控制台查看原生sql
情况:当tomcat运行时,项目运行过程中,控制台没有打印出原生sql语句: 解决办法如下: 在 META-INF 文件夹下,查找 persistence.xml 这个文件(这里注意可能一个项目不止 ...
- 关系型数据库工作原理-时间复杂度(翻译自Coding-Geek文章)
本文翻译自Coding-Geek文章:< How does a relational database work>. 原文链接:http://coding-geek.com/how-dat ...
- atitit.查看预编译sql问号 本质and原理and查看原生sql语句
atitit.查看预编译sql问号 本质and原理and查看原生sql语句 1. 预编译原理. 1 2. preparedStatement 有三大优点: 1 3. How to look gene ...
- atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx
atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx 1.1. 版本历史2 2. 设计模式是什么2 2.1. 模式就是在一种场合下对某个问题的一个解决方案.& ...
- DEDECMS数据库执行原理、CMS代码层SQL注入防御思路
我们在上一篇文章中学习了DEDECMS的模板标签.模板解析原理,以及通过对模板核心类的Hook Patch来对模板的解析流量的攻击模式检测,达到修复模板类代码执行漏洞的目的 http://www.cn ...
- Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...
- jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具
jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...
- Atitit.软件GUI按钮与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUI按钮与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Target Se ...
随机推荐
- clone()与clone(true)的区别
clone()方法用于复制一个元素,但是被复制出来的元素不具备复制的功能,如果希望被复制出来的元素也具备复制的功能,需要给clone()方法加上true这个参数,即clone(true). 例如: & ...
- 什么是侧翼区(flanking region)和侧翼区单核苷酸多态性(Flanking SNPs)
侧翼区(flanking region) 根据维基定义:The 5' flanking region is a region of DNA that is adjacent to the 5' end ...
- HashedWheelTimer 原理
HashedWheelTimer 是根据 Hashed and Hierarchical Timing Wheels: Data Structuresfor the Efficient Impleme ...
- coreseek实战(一):windows下coreseek的安装与测试
coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...
- 一个自己用的代码备份工具,支持delphi,android,java,可以自己添加配置,灵活支持大部分编程语言
下面就是这个软件的下载地址 http://files.cnblogs.com/files/stevenlaz/release.zip 绿色软件 MConfig.exe 进行安装,或者卸载 MBacku ...
- Verilog之电平检测
检测低电平为例 module detect_module ( CLK, RSTn, RX_Pin_In, H2L_Sig ); input CLK; input RSTn; input RX_Pin_ ...
- 0729am空控制器
- discuz数据库表
http://faq.comsenz.com/library/database/x3/x3_index.htm discuz数据库表字典 Discuz X3各数据库表用途 pre_common_ ...
- 让linux中的程序崩溃时生成core文件
当我们的linux程序崩溃的时候,常常会有这样的提示: Segmentation fault (core dumped) 段错误 (核心已转储) 提示说生成了core文件,但是此功能 ...
- AngularJs的$http使用随笔
AngularJs的$http服务是Angularjs自带的核心服务之一,用来与HTTP远程服务器交互. 关于$http使用,我体会的一下几点注意: 1.在使用是报“Uncaught Referenc ...