[SPRING] 스프링 JPA 공급 업체 어댑터를 사용하여 최대 절전 모드에서 SQL을 표시하지 못하게 함
SPRING스프링 JPA 공급 업체 어댑터를 사용하여 최대 절전 모드에서 SQL을 표시하지 못하게 함
Hibernate는 SQL 추적을 stdout으로 계속해서 내보내고 있으며 JPA 어댑터 뒤에 숨겨져있을 때 Hibernate 구성 등록 정보를 변경하는 방법을 알 수 없습니다. 이것은 entityManagerFactory의 Spring 빈이다.
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="ssapDataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" >
<property name="showSql" value="false"/>
</bean>
</property>
</bean>
showSql 프로퍼티를 false로 설정해도 Hibernate는 SQL을 계속 출력한다.
"hibernate.show_sql = false"를 사용하여 클래스 패스에 hibernate.properties 파일을 만들려고했으나 그 중 하나를 선택하지 않았습니다.
해결법
-
==============================
1.persistence.xml에서 설정해보십시오.
persistence.xml에서 설정해보십시오.
<persistence> <persistence-unit name="PU"> <properties> <property name="hibernate.show_sql" value="false"/> </properties> </persistence-unit> </persistence>
-
==============================
2.
<property name="jpaProperties"> <props> <prop key="hibernate.show_sql">false</prop> </props> </property>
이것도 작동합니다.
-
==============================
3.내가 아는 한, Hibernate는 org.hibernate.SQL에 대한 로깅이 DEBUG 또는 ALL 수준에서 발생하면 SQL 문을 로깅하므로 비활성화 할 수 있습니다 (예 : log4j.logger.org.hibernate.SQL = info Log4J).
내가 아는 한, Hibernate는 org.hibernate.SQL에 대한 로깅이 DEBUG 또는 ALL 수준에서 발생하면 SQL 문을 로깅하므로 비활성화 할 수 있습니다 (예 : log4j.logger.org.hibernate.SQL = info Log4J).
-
==============================
4.Spring을 사용하는 경우 showSql 속성이 true로 설정되어 있지 않은지 확인하십시오.
Spring을 사용하는 경우 showSql 속성이 true로 설정되어 있지 않은지 확인하십시오.
나는이 일을 스스로하고 있었다.
<bean id="vendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="false"/> </bean>
-
==============================
5.이것을 log4j.properties에 추가하십시오.
이것을 log4j.properties에 추가하십시오.
log4j.logger.org.hibernate = WARN
-
==============================
6.이것은 나를 위해 일했다 :
이것은 나를 위해 일했다 :
spring.jpa.show-sql=false
-
==============================
7.다음은 Hibernate SQL 쿼리를 표시하거나 숨기는 세 가지 방법입니다 (이들은 아마도 다른 것입니다).
다음은 Hibernate SQL 쿼리를 표시하거나 숨기는 세 가지 방법입니다 (이들은 아마도 다른 것입니다).
로거 구성은 지속성 구성과는 별개의 것으로 보입니다. 영속성 설정에 관해서는 spring이 persistence.xml을 오버라이드하는 것으로 보입니다. (나는 봄에 의해로드 된 persistence.xml로 테스트했습니다. 그렇지 않은 경우에는 동작이 무엇인지 알 수 없습니다). 두 구성 간의 차이점은 결과 로깅이며,로 그백은 다음과 같습니다.
2016-08-25 16:05:39,436 DEBUG org.hibernate.SQL(92) - alter table ...
지속성 구성의 경우 :
Hibernate: alter table ...
from https://stackoverflow.com/questions/679518/cant-make-hibernate-stop-showing-sql-using-spring-jpa-vendor-adapter by cc-by-sa and MIT license