加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用Play Framework 2时显示JPA的SQL语句

发布时间:2020-12-14 06:05:57 所属栏目:Java 来源:网络整理
导读:我正在使用Play Framework和JPA / Hibernate开发一个Web应用程序.出于调试目的,很高兴看到JPA使用的SQL语句.已经有另一个 thread有相同的问题,但它是关于Play 1,并且给定的解决方案对我不起作用 – 似乎jpa.debugSQL = true不能在Play 2中使用(EntityManager
我正在使用Play Framework和JPA / Hibernate开发一个Web应用程序.出于调试目的,很高兴看到JPA使用的SQL语句.已经有另一个 thread有相同的问题,但它是关于Play 1,并且给定的解决方案对我不起作用 – 似乎jpa.debugSQL = true不能在Play 2中使用(EntityManager的No Persistence提供程序名为true).

相反,我在Play的application.conf中添加了以下内容:

db.default.logStatements=true
logger.org.hibernate=DEBUG

我不确定我是否需要两行,但至少现在记录了SQL语句.
但是对于大型查询,Hibernate打印了大量的调试消息,使得已打印的SQL语句在我的控制台窗口中消失.我已经尝试增加控制台窗口的缓冲区,但这并没有太大变化.

为了以舒适的方式检查陈述,我该怎么办?

编辑:

将logger.org.hibernate设置为INFO时,我根本没有得到任何语句(即使db.default.logStatements = true).

解决方法

首先尝试使用配置
db.default.logStatements=true
logger.org.hibernate=DEBUG

找出哪个类记录语句(例如org.hibernate.xxx.StatementLogger).
更改回org.hibernate的INFO并为语句记录器包添加一个新行:

logger.org.hibernate=INFO
logger.org.hibernate.xxx=DEBUG

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读