如何调试JPA CriteriaBuilder查询

时间:2011-12-29 19:11:07

标签: java mysql jpa eclipselink criteria-api

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

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

2 个答案:

答案 0 :(得分:13)

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

E.g。

对于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?

答案 1 :(得分:0)

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

spring.jpa.show-sql=true