2016-04-12 81 views
2

我正在嘗試添加oracle優化器以更快地從使用條件API的應用程序代碼運行查詢。 Criteria中有addQueryHint()方法,但它似乎不能使用最新的hibernate API。使用Hibernate的Oracle優化器提示

通過網絡搜索後,我發現一些黑客/解決方法,但有些東西不適合我..我創建一個選擇語句使用ArrayList的列,我需要添加/ * + 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/

下投票

可以嘗試把在甲骨文提示通過實現甲骨文提示選項給條件添加一個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