Mas*_*ada 6 java hibernate jpa
我正在使用 JPA (Hibernate) 编写代码,并且想检查日志中的 LIMIT 和 OFFSET 参数。
我添加了 Logback 并正确设置了日志级别,但我不能执行上述操作。我怎样才能做到这一点?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%-5level][%-10thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
<!-- Print SQL to log-->
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
</configuration>
Run Code Online (Sandbox Code Playgroud)
EntityManagerFactory emf = Persistence.createEntityManagerFactory("FooPU");
EntityManager em = emf.createEntityManager();
String jpql = "SELECT f FROM Foo f ORDER BY f.id";
// Specify LIMIT and OFFSET
List<Foo> fooList = = em.createQuery(jpql, Foo.class)
.setFirstResult(1)
.setMaxResults(3)
.getResultList();
for (Foo f : fooList) {
System.out.println(f);
}
em.close();
emf.close();
Run Code Online (Sandbox Code Playgroud)
没有显示 LIMIT 和 OFFSET 参数。我只能看到一条 SQL。
[DEBUG][main ] org.hibernate.SQL - select foo0_.id as id1_1_, ... from Foo foo0_ order by foo0_.id limit ?, ?
Run Code Online (Sandbox Code Playgroud)
另外,其他 SQL 参数也正确显示。
[DEBUG][main ] org.hibernate.SQL - select foo0_.id as id1_0_0_, ... from Foo foo0_ where foo0_.id=?
[TRACE][main ] o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [10]
Run Code Online (Sandbox Code Playgroud)
[DEBUG][main ] org.hibernate.SQL - select foo0_.id as id1_1_, ... from Foo foo0_ order by foo0_.id limit ?, ?
[TRACE][main ] o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
[TRACE][main ] o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [INTEGER] - [3]
Run Code Online (Sandbox Code Playgroud)
可能目前还不支持。PreparedStatement通常参数通过ValueBinder接口(实际上是扩展的类BasicBinder)绑定到 a ,BasicBinder具有将绑定参数打印到日志的功能。但 limit/offset 参数绑定到一个PreparedStatement没有ValueBinder接口的接口,因此 limit/offset 参数不会打印到日志中。我建议创建一个支持将限制/偏移参数打印到日志的新问题!
| 归档时间: |
|
| 查看次数: |
1743 次 |
| 最近记录: |