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

前端之家收集整理的这篇文章主要介绍了java – 使用Play Framework 2时显示JPA的SQL语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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

猜你在找的Java相关文章