最近公司的DBA整天在烦,大家都很清楚在烦些什么的了。数据库的性能问题。。总是跑过来跟我说,hk hibernate 可不可以加上一些oracle的特性hints啊?我说可以啊。。。。。。。。。。。下面的不说了,哈。下面来看具体hibernate 使用hints.
在hibernate中,怎么样使用hints?
hibernate 在创建Query时,其中有一个方法叫setComment(),我们就可以通过这个方法去开启hibernate 对 oracle的hints特性。具体例子
1.原生的hql
String hql = "from Stock s where s.stockCode = :stockCode"; List result = session.createQuery(hql) .setString("stockCode", "7277") .list();
执行时输出下面的sql
Hibernate: select stock0_.STOCK_ID as STOCK1_0_, stock0_.STOCK_CODE as STOCK2_0_, stock0_.STOCK_NAME as STOCK3_0_ from mkyong.stock stock0_ where stock0_.STOCK_CODE=?
2.使用hibernate setcomment()
开启hibernate use_sql_comment的功能在配置文件里修改
<!-- hibernate.cfg.xml --> <?xml version="1.0" encoding="utf-8"?> ... <hibernate-configuration> <session-factory> ... <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="use_sql_comments">true</property> <mapping class="com.mkyong.common.Stock" /> </session-factory> </hibernate-configuration>
下面使用hibernate hints的例子
String hql = "from Stock s where s.stockCode = :stockCode"; List result = session.createQuery(hql) .setString("stockCode", "7277") .setComment("+ INDEX(stock idx_stock_code)") .list();
输出下面sql
Hibernate: /* + INDEX(stock idx_stock_code) */ select stock0_.STOCK_ID as STOCK1_0_, stock0_.STOCK_CODE as STOCK2_0_, stock0_.STOCK_NAME as STOCK3_0_ from mkyong.stock stock0_ where stock0_.STOCK_CODE=?
本文章来自:http://blog.mkfree.com/posts/51f86d7c479eef767b508aad
相关推荐
本文介绍了关于Hibernate中如何使用Oracle sequence的问题以及应注意的事项。
Oracle Hints 用法大全,对于优化 SQL 很有帮助!
oracle HINTS用法,自己平时整理的一些关于ORACLE HINTS的用法
oracle hints的详细介绍,包括各种优化算法等。
Oracle的hints调整机制介绍 Oracle的hints调整机制介绍 Oracle的hints调整机制介绍
解析Oracle Hints.解析Oracle Hints.
hints 使用的好的話很好用。在进行sql执行过程中,由于有时候系统自动优化的方式并不是最优的。需要我们手工添加hint来提高查询效率。
oracle sql 暗示 描述了oracle sql 语句的所有暗示
Oracle SQL Hints比较详细的一个中文手册,便于使用时查询
Oracle中关于hints的语义及使用情况的介绍。
sql error can be handled
Hints优化.pdf
Hints and Tips: Connecting To Personal Oracle 1018 Hints and Tips: Table Does Not Exist Errors 1019 Create Support Bundles 1019 Toad Advisor 1019 Contact Quest 1021 Contact Quest Support 1021 Contact ...
Spec for Extended Window Manager Hints. version 1.4 draft2
ORACLE提供了在SQL中 使用HINTS来引导优化器产生我们想要的执行计划的能力。这在多表连接、复杂查询中特别有效。HINTS的类型很多,可以设置优化器目标,可以指定表连接的顺序,可以指定使用哪个表的哪个索引等等,...
101 Helpful Hints for IELTS
Hibernate 可以对类的属性或者方法进行注解。属性对应field类别,方法的 getXxx()对应property类别。 定义表 通过 @Table 为实体Bean指定对应数据库表,目录和schema的名字。 @Entity @Table(name="tbl_sky") ...
在SQL语句优化过程中,经常会用到hint,下面我们来介绍一下在SQL优化过程中常见Oracle中"HINT"的30个用法