私は.xmlファイルから呼び出すSQLクエリをログに記録しようとしています。私が直面している問題は、ログが表示されても、フォーマットが正しくないことです。また、なぜそれが繰り返されるのかわかりません。コンソールのHibernate SQLクエリフォーマット
[main] INFO org.dozer.DozerBeanMapper - dozer bean mapperの新しいインスタンスを初期化します。 [main] INFO org.dozer.DozerBeanMapper - dozer bean mapperの新しいインスタンスを初期化します。 [main] INFO org.springframework.orm.hibernate5.HibernateTransactionManager - HibernateTransactionManager用のHibernate SessionFactoryのDataSource [[email protected]]の使用 [main] INFO org.springframework.aop.framework.CglibAopProxy - プロキシを使用することができません[public final void com.servicios.test.TestRestauranteManager.findProveedoresByIdRestaurante()throws com.servicios.util.exceptions.AlergenosException]最終的です:プロキシ経由でこのメソッドへの呼び出しはすべてターゲットにルーティングされませんインスタンス。 [main] INFO org.springframework.test.context.transaction.TransactionContext - テストコンテキストのトランザクション(1)を開始する[DefaultTestContext @ 436bd4df testClass = TestRestauranteManager、testInstance = [email protected]、testMethod = findProveedoresByIdRestaurante @ TestRestauranteManager 、{{}}、{{}}、contextInitializerClasses = '[]'、activeProfiles = '{}'のように指定します。 '、}}、propertySourceLocations =' {} '、propertySourceProperties =' {} '、contextLoader =' org.springframework.test.context.support.DelegatingSmartContextLoader '、parent = [null]]];トランザクションマネージャ[[email protected]740ff5e];ロールバック[true] レストラン0 _。 "ID_RESTAURANTE"をID_RESTA1_4_0_、レストラン0 _ "DESCRIPCION"はDESCRIPC2_4_0_、レストラン0 _ "ID_CADENA_RESTAURANTE"をID_CADEN3_4_0_から "RESTAURANTE" restaurant0_ where restaurant0 _。 "ID_RESTAURANTE" =? "ID_RESTAURANTE" = "ID_RESTAURANTE" = "DESCRIPCION" DESCRIPC2_4_0_、レストラン0 _ "ID_CADENA_RESTAURANTE"をID_CADEN3_4_0_から "RESTAURANTE" restaurant0_ where restaurant0 _。 "ID_RESTAURANTE" =? 結合パラメータは、[1]と[BIGINT] - の新しいインスタンスを初期化する - [0]
私は
[メイン] INFO org.dozer.DozerBeanMapperのようなものを持っていると思いますドーザービーンマッパー。 [メイン]情報org.dozer.DozerBeanMapper - ドーザーBeanマッパーの新しいインスタンスを初期化しています。 INFO org.springframework.orm.hibernate5.HibernateTransactionManager [メイン] - データソースHibernateTransactionManagerための[[email protected]] のHibernateのSessionFactoryの[メイン] INFO org.springframework.aop.frameworkを使用します。 CglibAopProxy - プロキシ 方法[パブリック最終無効 com.servicios.test.TestRestauranteManager.findProveedoresByIdRestaurante() がcom.servicios.util.exceptions.AlergenosExceptionをスロー]それは 最終的なものであるためにできません:プロキシを経由してこのメソッドへのすべての呼び出しがしますターゲットインスタンス にルーティングしないでください。 [メイン]情報 org.springframework.test.context.transaction.TransactionContext - テストコンテキスト[DefaultTestContext @ 436bd4df testClass = TestRestauranteManager、testInstance = com.servicios.testのトランザクション(1)を開始しました。TestRestauranteManager @ 6848a051、のtestMethod = findProveedoresByIdRestaurante @ TestRestauranteManager、testException = [NULL] = mergedContextConfiguration [MergedContextConfiguration @ 149b0577 TestClassを= TestRestauranteManager、位置= '{クラスパス:テストapplicationContext.xmlを}'、クラス=「{} {}」、 contextInitializerClasses = '[]'、activeProfiles = '{}'、 propertySourceLocations = '{}' =、propertySourceProperties ''、 contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader'、 parent = [null]]];トランザクションマネージャ [[email protected]740ff5e]; 休止状態:。。私のlog4j.properties、 "descripcion" と "DESCRIPCION" Pを選択し、 "idProveedor"
from "RESTAURANTE_PROVEEDOR" rp inner join "PROVEEDOR" p on rp."ID_PROVEEDOR" = p."ID_PROVEEDOR" where rp."ID_RESTAURANTE" = ? binding parameter [1] as [BIGINT] - [0]
として P "ID_PROVEEDOR" は、以下である:
log4j.rootLogger=INFO, stdout
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.SQL=TRACE
log4j.logger.org.hibernate.type=ALL
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.rootConsola.layout.ConversionPattern=(%d{dd/MM/yyyy-HH:mm:ss}) %-5p: %-40c{1} - %m%n
私のApplicationContext.xmlにはこれがあります
...
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"
p:dataSource-ref="dataSource">
<property name="packagesToScan" value="com.servicios.vo"/>
<property name="mappingLocations">
<list>
<value>classpath*:hibernate/queries/**/*.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
...
ありがとうございます!