1

我正在使用 spring-data 进行数据库交互。我想查看存储库中编写的查询的 jpa sql 执行计划。我该怎么做。

https://vladmihalcea.com/execution-plan-oracle-hibernate-query-hints/讲述了使用 GATHER_PLAN_STATISTICS 和 COMMENT 查询提示。我添加了 COMMENT 提示,但不知道如何添加其他提示。

public interface StudentRepository extends JpaRepository<Student, Long>{
   @QueryHints({
       @QueryHint(name=org.hibernate.annotation.queryHints.COMMENT, 
        value="SQL_PLAN_STUDENT")
   })
   List<Student>findByStudentIDIn(List<Long> ids);
}
4

1 回答 1

0

@QueryHints注释接受一个数组构造函数,如项目列表@QueryHint

因此,您可以QueryHints通过将它们添加到逗号分隔列表来添加多个。例如:

   @QueryHints({
            @QueryHint(name=org.hibernate.annotations.QueryHints.COMMENT, value="SQL_PLAN_STUDENT"),
            @QueryHint(name="GATHER_PLAN_STATISTICS" , value="GATHER_PLAN_STATISTICS")
    })

不幸的是,我无权访问正在运行的 oracle dbms 实例,因此无法检查给定提示的结果。

于 2019-07-23T20:14:06.943 回答