Issue
-
When the property
hibernate.show_sql=true
is set, the SQL statements executed are shown in the system log, but with bind variables. For example:
Hibernate: SELECT COUNT(*) AS col_0_0_ FROM BlogsEntry blogsentry0_ WHERE (blogsentry0_.displayDate < ?) AND (blogsentry0_.status = ?) AND blogsentry0_.ctCollectionId = 0
- How to get the values of these variables?
Environment
- 2024.q4.2
Resolution
-
Adding the following log category with the TRACE level:
org.hibernate.type.descriptor.sql.BasicBinder
- Now, SQL statements are followed with de bind variables values:
Hibernate: SELECT COUNT(*) AS col_0_0_ FROM BlogsEntry blogsentry0_ WHERE (blogsentry0_.displayDate < ?) AND (blogsentry0_.status = ?) AND blogsentry0_.ctCollectionId = 0
2024-04-04 13:22:15.444 TRACE [liferay/scheduler_dispatch-5][BasicBinder:64] binding parameter [1] as [TIMESTAMP] - [2024-04-04 13:22:15.444]
2024-04-04 13:22:15.445 TRACE [liferay/scheduler_dispatch-5][BasicBinder:64] binding parameter [2] as [INTEGER] - [7]