【问题标题】:How to debug JPA CriteriaBuilder queries如何调试 JPA CriteriaBuilder 查询
【发布时间】:2012-01-30 03:11:37
【问题描述】:

如何调试使用 JPA 2.0 CriteriaBuilder 构建的查询?有没有办法打印出正在执行的查询?

我正在使用NetBeansMySqlGlassFish 开发一个 Web 应用程序。我会避免在调试模式下启动 MySql,因为它也用于其他应用程序。 JPA 提供者是EclipseLink

【问题讨论】:

  • 您使用哪个 JPA 提供程序(例如 OpenJPA、Hibernate)?
  • @home,我已经添加了您要求的信息
  • 没有问题;检查这个:stackoverflow.com/questions/2374395/…
  • @home,由于 OP 表明正在使用 GlassFish,我猜 EclipseLink 将是一个安全的猜测;)
  • @Arjan: ...但仍然是一个猜测:-)

标签: java mysql jpa eclipselink criteria-api


【解决方案1】:

persistence.xml 中也打印从常规 JPQL 查询生成的 SQL 的相同属性也应该打印从 Criteria 查询生成的 SQL。

例如

对于 Hibernate(由例如 JBoss AS 使用)它是:

<property name="hibernate.show_sql" value="true" />

对于 EclipseLink(由例如 GlassFish 使用)它是:

<property name="eclipselink.logging.level" value="FINE"/>
<property name="eclipselink.logging.parameters" value="true"/>

另见:How to view the SQL queries issued by JPA?

【讨论】:

    【解决方案2】:

    如果您使用的是 java spring,请在资源下,在 application.properties 文件中添加以下行

    spring.jpa.show-sql=true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      相关资源
      最近更新 更多