hibernate 定制sql语句的方法:
- sql 中column的顺序非常重要,不然就会出错,一个字段的value到另外一个字段上去。
- 取得默认的hibernate 生成的sql语句,设置org.hibernate.persister.entity.AbstractEntityPersister log级别为debug,下面是打印代码
protected void logStaticSQL() {
if ( log.isDebugEnabled() ) {
log.debug( "Static SQL for entity: " + getEntityName() );
if ( sqlLazySelectString != null ) {
log.debug( " Lazy select: " + sqlLazySelectString );
}
if ( sqlVersionSelectString != null ) {
log.debug( " Version select: " + sqlVersionSelectString );
}
if ( sqlSnapshotSelectString != null ) {
log.debug( " Snapshot select: " + sqlSnapshotSelectString );
}
for ( int j = 0; j < getTableSpan(); j++ ) {
log.debug( " Insert " + j + ": " + getSQLInsertStrings()[j] );
log.debug( " Update " + j + ": " + getSQLUpdateStrings()[j] );
log.debug( " Delete " + j + ": " + getSQLDeleteStrings()[j] );
}
if ( sqlIdentityInsertString != null ) {
log.debug( " Identity insert: " + sqlIdentityInsertString );
}
if ( sqlUpdateByRowIdString != null ) {
log.debug( " Update by row id (all fields): " + sqlUpdateByRowIdString );
}
if ( sqlLazyUpdateByRowIdString != null ) {
log.debug( " Update by row id (non-lazy fields): " + sqlLazyUpdateByRowIdString );
}
if ( sqlInsertGeneratedValuesSelectString != null ) {
log.debug( "Insert-generated property select: " + sqlInsertGeneratedValuesSelectString );
}
if ( sqlUpdateGeneratedValuesSelectString != null ) {
log.debug( "Update-generated property select: " + sqlUpdateGeneratedValuesSelectString );
}
}
}
3. 根据默认的sql语句定制你自己的sql语句,记住一点要遵守column的顺序。
分享到:
相关推荐
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句2.txt,欢迎下载!
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句.txt欢迎下载!
一个非常简单的MyBatis辅助工具,可以基于DAO的命名约定帮你生成并维护SQL语句。pndao是票牛Java团队实践一年演化出来的工具。在实际生产中减少了80%以上的重复SQL编写工作,从而把关注力转移到模型本身的制定上。...
语法规则是用来描述SQL语句的结构和含义的,而词法规则是用来描述SQL语句中的词法结构的。通过使用Flex和Bison工具,可以生成面向字符流自动扫描分词的程序和自动进行语法分析的程序,从而实现SQL语法分析的目标。 ...
1. SQL映射:MyBatis允许开发者直接编写SQL语句,通过XML或注解的方式将SQL语句与Java对象进行映射,从而避免了繁琐的JDBC代码和手动设置参数以及获取结果集的过程。 2. 灵活性:MyBatis具有高度的灵活性,可以根据...
Go轻量ORM,零依赖,零侵入分布式事务,基于原生sql语句,学习成本更低,代码生成器,代码精简,主体2500行,零依赖4000行,注释详细,方便定制修改.支持事务传播,这是zorm诞生的主要原因.支持达梦(dm),金仓(kingbase),...
SQL 映射: MyBatis 可以映射 SQL 语句到 Java 方法,方法的参数和返回值可以直接与 SQL 语句的参数和结果关联。 动态 SQL: MyBatis 支持动态 SQL,可以在 SQL 语句中使用条件、循环和参数映射等。 结果映射: MyBatis...
对比国内外的旅游网站,... 实现了用户模块、景点模块、酒店模块、论坛模块、定制模块、留言回复功能,及相应模块的后台管理功能等。 后端: Spring SpringMVC MyBatis 前端: bootstrap jQuery 数据库: MySQL 5.5
6.2.4 标识SQL语句以便以后取回计划 153 6.2.5 深入理解DBMS_XPLAN的细节 156 6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP...
智能代码完成,代码格式化,SQL重构,片段,配置文件,语句扩展,列选择器等等! 处理模式/数据差异没有麻烦 比较不同SQLServer实例中的数据并生成同步脚本。 管理源代码管理中的数据库更改 做一个...
全球的主要国家和城市名称以及代码,SQL文件和项目文件都有,SQL直接导入就行了。数据时基于2017年最新的,我这里按标准分为四个层级,当然你也可以自己改sql语句来定制。
PHP中文为你提供的是Mac版 SQLPro for MySQL 1.0.13破解版免费下载,SQLPro for MySQL是一款Mac上优秀的MySQL客户端,方便和快速的连接到MySQL数据库,图形界面,支持多种主题,代码高亮,语句查询等! ...
设置的方法,可以通过MySQL命令行设置set global slow_query_log=on 或者修改/etc/my.cnf文件,添加slow_query_log=on 2、slow_query_log_file 指定慢查询日志的存储路径及文件 建议日志存储和数据存储分开存储 3、...
1) MyBatis是一个开源、轻量级的数据持久层框架,它支持定制SQL语句的高级映射。 2. MyBatis是一个半自动对象关系映射(object relational mapping, ORM)框架,它使用简单的XML文件或注解在对象模型和关系型数据库...
因为能马上显示输入的SQL语句的执行计划,所以可以一边确认输出结果和执行计划,一边创建出高效的SQL语句。可以实现从资源浏览器的拖放功能,如果已经将SQL语句保存到文件中的情况下,还可以实现仅使用鼠标即可...
本文探讨了SQL Server数据库中的完整性约束,讨论了数据库完整性约束的重要性、分类和设计方法,并以T-SQL语句对数据库完整性约束进行了设计,实现了在数据库中存储数据的完整性、正确性和一致性。 一、 数据库完整...
智能代码完成,代码格式化,SQL重构,片段,配置文件,语句扩展,列选择器等等! 处理模式/数据差异没有麻烦 比较不同SQLServer实例中的数据并生成同步脚本。 管理源代码管理中的数据库更改 做一个...
我们可以把sql预处理看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制。 我们来看下它有什么好处: 预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)。 绑定参数减少了...