Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Log Pertanyaan SQL Terperinci dengan Nilai Parameter dalam Hibernate?

Bagaimana untuk Log Pertanyaan SQL Terperinci dengan Nilai Parameter dalam Hibernate?

DDD
Lepaskan: 2025-01-22 22:32:10
asal
986 orang telah melayarinya

How to Log Detailed SQL Queries with Parameter Values in Hibernate?

Cetak log SQL terperinci yang mengandungi nilai parameter sebenar

Apabila menggunakan Hibernate, selalunya berguna untuk melihat pertanyaan SQL yang dilaksanakan, terutamanya apabila menyahpepijat atau mengoptimumkan prestasi. Walau bagaimanapun, secara lalai, Hibernate merekodkan pernyataan SQL menggunakan ruang letak (tanda soal) dan bukannya nilai sebenar parameter pertanyaan.

Konfigurasi log hibernate

Jika anda perlu mencetak pertanyaan yang mengandungi nilai sebenar, anda boleh mengkonfigurasi kategori pengelogan berikut:

  • org.hibernate.SQL: Tetapkan kepada nyahpepijat untuk log semua pernyataan SQL DML yang dilaksanakan.
  • org.hibernate.type: Tetapkan untuk mengesan untuk melog semua parameter JDBC.

Contohnya, menggunakan konfigurasi log4j:

<code># 记录SQL语句
log4j.logger.org.hibernate.SQL=debug 

# 记录传递给查询的JDBC参数
log4j.logger.org.hibernate.type=trace </code>
Salin selepas log masuk

Tetapan pertama (org.hibernate.SQL) adalah bersamaan dengan menetapkan sifat warisan hibernate.show_sql=true. Tetapan kedua (org.hibernate.type) mencetak parameter mengikat dan maklumat lain.

Penyelesaian bukan Hibernate

Cara lain untuk mencetak pertanyaan yang mengandungi nilai sebenar ialah menggunakan pemacu proksi JDBC seperti P6Spy. Pemacu ini memintas semua pernyataan SQL dan log maklumat dengan maklumat terperinci, termasuk nilai sebenar parameter pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Log Pertanyaan SQL Terperinci dengan Nilai Parameter dalam Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan