我正在使用Maven 3.0.3,SPring 3.1.1.RELEASE,Hibernate 4.1.0.Final和log4j 1.2.15。在我的Maven項目,我在SRC /測試/資源此的log4j.xml文件如何獲得Hibernate綁定參數值以顯示在Junit測試中?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p]: %c - %m%n" />
</layout>
</appender>
<logger name="org.mainco.subco">
<level value="debug" />
</logger>
<logger name="log4j.logger.org.hibernate.SQL">
<level value="DEBUG" />
</logger>
<logger name="log4j.logger.org.hibernate.type">
<level value="TRACE" />
</logger>
<root>
<priority value ="info" />
<appender-ref ref="consoleAppender"/>
</root>
</log4j:configuration>
我的數據源配置,像這樣在我的測試應用程序上下文:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${test.mysql.dataSource.driverClassName}" />
<property name="url" value="${test.mysql.dataSource.url}" />
<property name="username" value="${test.mysql.db.user}" />
<property name="password" value="${test.mysql.db.password}" />
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="packagesToScan" value="org.mainco.subco" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
</property>
<property name="dataSource" ref="dataSource"/>
<property name="jpaPropertyMap" ref="jpaPropertyMap" />
</bean>
<util:map id="jpaPropertyMap">
<entry key="hibernate.show_sql" value="true" />
<entry key="dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
<entry key="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.EhCacheRegionFactory"/>
<entry key="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
<entry key="hibernate.cache.use_second_level_cache" value="true" />
<entry key="hibernate.cache.use_query_cache" value="false" />
<entry key="hibernate.generate_statistics" value="true" />
</util:map>
然而,當我運行JUnit測試,雖然SQL顯示,但綁定到SQL的參數不會。我怎樣才能改變上面的任何一個,讓綁定參數通過System.out(或在控制檯上)出現? - 戴夫