Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mencetak Pertanyaan SQL dengan Nilai Parameter dalam Hibernate?
Pengenalan:
Apabila menggunakan Hibernate, ia boleh membantu untuk mencetak keluar pertanyaan yang sedang dijana, bersama-sama dengan nilai parameter sebenar. Ini boleh berguna untuk tujuan penyahpepijatan, atau untuk memahami ciri prestasi pertanyaan tertentu.
Adakah Ia Mungkin dengan API Hibernate?
Ya, adalah mungkin untuk cetak pertanyaan dengan nilai parameter menggunakan API Hibernate. Untuk melakukan ini, anda perlu mendayakan pengelogan untuk kategori berikut:
Contoh Konfigurasi:
Konfigurasi log4j yang membolehkan pengelogan untuk kategori ini mungkin kelihatan seperti ini:
# logs the SQL statements log4j.logger.org.hibernate.SQL=debug # Logs the JDBC parameters passed to a query log4j.logger.org.hibernate.type=trace
pilihan pertama (hibernate.show_sql) ialah setara legasi log4j.logger.org.hibernate.SQL=debug, manakala pilihan kedua mencetak parameter terikat bersama-sama dengan maklumat lain.
Penyelesaian Bukan Hibernate Alternatif:
Jika anda memilih untuk tidak menggunakan API Hibernate untuk mencetak pertanyaan dengan nilai parameter, anda boleh menggunakan pemacu proksi JDBC seperti P6Spy. Pemacu ini bertindak sebagai proksi antara aplikasi anda dan pangkalan data, dan ia merekodkan semua pernyataan dan parameter JDBC yang melaluinya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetak Pertanyaan SQL dengan Nilai Parameter dalam Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!