如何使用 mysemma 从 querydsl 记录后台生成的 sql 查询

Inv*_*der 6 hibernate querydsl spring-data-jpa mysema

使用mysemma的querydsl显示自动生成的sql查询的任何最佳方式,以便可以轻松查看这些sql查询,并且在使用querydsl时调试sql查询变得容易。

例如: from(qCustomer).where(qCustomer.custId.eq("1"));

我需要知道幕后生成的 sql 并希望记录日志以便我可以轻松调试我的应用程序。

mas*_*asT 8

Spring boot 用户,将下面添加到application.properties或等效的 yaml 文件以启用 QueryDsl 日志。

logging.level.com.querydsl.sql=DEBUG
Run Code Online (Sandbox Code Playgroud)

参考 - AbstractSQLQuery 的 logQuery()

  • 我使用JPA,所以需要配置`logging.level.com.querydsl.jpa=DEBUG`。 (3认同)

小智 5

请在您的 application.properties 文件中添加以下设置并检查。

spring.jpa.show-sql=true

我看到使用上述设置生成的 SQL。仅供参考,我正在使用 Spring Data JPA 和 QueryDSL 4.1.3