>데이터 베이스 >MySQL 튜토리얼 >실제 매개변수 값을 사용하여 Hibernate SQL 쿼리를 어떻게 기록할 수 있습니까?

실제 매개변수 값을 사용하여 Hibernate SQL 쿼리를 어떻게 기록할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-22 22:58:12253검색

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

Hibernate에서 매개변수 값이 포함된 쿼리 인쇄

Hibernate를 사용하다 보면, 매개변수 값을 포함하여 실제 실행된 SQL 쿼리를 확인해야 하는 경우가 종종 있습니다. Hibernate의 기본 동작은 매개변수 값에 대한 자리 표시자로 물음표(?)를 사용하여 SQL 쿼리를 기록하는 것입니다.

Hibernate API를 사용하여 실제 값이 포함된 쿼리를 인쇄할 수 있나요?

아니요, Hibernate는 실제 값을 포함하는 SQL 쿼리를 인쇄하는 API를 제공하지 않습니다.

실제값이 포함된 쿼리를 인쇄하는 방법

이 기능이 작동하려면 다음 카테고리에 대해 로깅을 활성화해야 합니다.

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

Log4j 구성 예:

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

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

첫 번째 구성은 Hibernate의 이전 속성 hibernate.show_sql=true와 동일하며 두 번째 구성은 바인딩 매개변수 및 기타 정보를 인쇄합니다.

대안

Hibernate 로깅이 충분하지 않은 경우 P6Spy와 같은 JDBC 프록시 드라이버를 사용하여 매개변수 값이 포함된 SQL 쿼리를 캡처하고 기록할 수 있습니다.

위 내용은 실제 매개변수 값을 사용하여 Hibernate SQL 쿼리를 어떻게 기록할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.