使用Hibernate的Oracle优化器提示

使用Hibernate的Oracle优化器提示,hibernate,optimization,hint,Hibernate,Optimization,Hint,我正在尝试添加oracle optimizer,以便使用CriteriaAPI从应用程序代码更快地运行查询。Criteria中有addQueryHint()方法,但在使用最新的hibernate API时,它似乎不起作用 通过网络搜索后,我发现了一些黑客/变通方法,但有些方法对我不起作用。。我使用列的ArrayList创建一个select语句,我需要使用投影作为条件添加/*+PARALLEL(4)*/。感谢您的帮助 ProjectionList projectionList = Proj

我正在尝试添加oracle optimizer,以便使用CriteriaAPI从应用程序代码更快地运行查询。Criteria中有addQueryHint()方法,但在使用最新的hibernate API时,它似乎不起作用

通过网络搜索后,我发现了一些黑客/变通方法,但有些方法对我不起作用。。我使用列的ArrayList创建一个select语句,我需要使用投影作为条件添加/*+PARALLEL(4)*/。感谢您的帮助

    ProjectionList projectionList = Projections.projectionList();

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

    criteria.setProjection(projectionList);

您可以使用本机SQL查询实现oracle提示选项

请参考下面的链接

否决票

您是否可以尝试通过在条件中添加投影列表来添加Oracle提示

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

参考链接:

在当前环境中,我们不可选择。谢谢你的回复