2016-04-12 11 views
2

Oracle APIを追加して、criteria APIを使用してアプリケーションコードからクエリを高速に実行しようとしています。 CriteriaにはaddQueryHint()メソッドがありますが、最新のhibernate APIを使用しても動作しないようです。Hibernateを使用したOracleオプティマイザヒント

ウェブを検索した後、いくつかのハック/回避策が見つかりましたが、何かが私のために働いていません。列のArrayListを使用してselect文を作成します。/ * + PARALLEL(4)* /のような予測を用いた基準。どんな助けもありがとうございます。

ProjectionList projectionList = Projections.projectionList(); 

    while (viewIt.hasNext()) { 
     viewName = viewIt.next(); 
     projectionList.add(Projections.property(viewName)); 
    } 

    criteria.setProjection(projectionList); 

答えて

0

あなたはネイティブSQLが投票

ダウン

リンクの下に参照してください

http://www.mkyong.com/hibernate/how-to-embed-oracle-hints-in-hibernate-query/

を問い合わせる使用してOracleヒントオプションを達成することができますし、Oracleのヒントに入れて試すことができますその基準にProjectionListを追加する。

ProjectionList proList = Projections.projectionList(); 
proList.add(Projections.sqlProjection("/*+INDEX_DESC(this_ MY_INDEX_NAME)*/ 1 as MYHINT", 
    new String[]{}, 
    new Type[]{})); 
//add properties from your class 

参考リンク:How to insert an "Optimizer hint" to Hibernate criteria api query

+0

ない現在の環境での私たちのためのオプション。応答ありがとう – Gary

関連する問題