問題
-
物件
hibernate.show_sql=true
が設定されている場合、実行されたSQL文はシステムログに表示されるが、バインド変数が表示される。 以下に例を示します。
Hibernate:SELECT COUNT(* AS col_0_0_ FROM BlogsEntry blogsentry0_ WHERE (blogsentry0_.displayDate < ?) AND (blogsentry0_.status = ?) AND blogsentry0_.ctCollectionId = 0
- これらの変数の値を取得するには?
環境
- 2024.q4.2
解像度
-
以下のログ・カテゴリーをTRACEレベルで追加する:
org.hibernate.type.descriptor.sql.BasicBinder
- さて、SQL文の後にはバインド変数の値が続く:
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]