Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh log pertanyaan Hibernate SQL dengan nilai parameter sebenar mereka?

Bagaimanakah saya boleh log pertanyaan Hibernate SQL dengan nilai parameter sebenar mereka?

Linda Hamilton
Lepaskan: 2025-01-22 22:58:12
asal
209 orang telah melayarinya

How can I log Hibernate SQL queries with their actual parameter values?

Cetak pertanyaan yang mengandungi nilai parameter dalam Hibernate

Apabila menggunakan Hibernate, selalunya perlu untuk melihat pertanyaan SQL sebenar yang dilaksanakan, termasuk nilai parameter. Tingkah laku lalai Hibernate adalah untuk melog pertanyaan SQL menggunakan tanda soal (?) sebagai ruang letak untuk nilai parameter.

Adakah mungkin untuk mencetak pertanyaan yang mengandungi nilai sebenar menggunakan API Hibernate?

Tidak, Hibernate tidak menyediakan API untuk mencetak pertanyaan SQL yang mengandungi nilai sebenar.

Cara mencetak pertanyaan yang mengandungi nilai sebenar

Untuk membolehkan ciri ini berfungsi, pengelogan perlu didayakan untuk kategori berikut:

<code>org.hibernate.SQL - 设置为debug以记录所有SQL DML语句的执行情况
org.hibernate.type - 设置为trace以记录所有JDBC参数</code>
Salin selepas log masuk

Contoh konfigurasi Log4j:

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

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

Konfigurasi pertama adalah bersamaan dengan sifat lama Hibernate hibernate.show_sql=true, dan konfigurasi kedua mencetak parameter pengikat dan maklumat lain.

Alternatif

Jika pengelogan Hibernate tidak mencukupi, anda boleh menggunakan pemacu proksi JDBC seperti P6Spy untuk menangkap dan melog pertanyaan SQL yang mengandungi nilai parameter.

Atas ialah kandungan terperinci Bagaimanakah saya boleh log pertanyaan Hibernate SQL dengan nilai parameter sebenar mereka?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan