0

我在我的java项目中使用hibernate,但我使用的hibernate是一个遗留版本意味着我使用的版本是hibernate 3,而不是我使用spring的hibernate,它是spring专用的hibernate,

我正在通过网络发现有关 p6SPY 的信息。jar,其中由 hibernate 生成的查询而不是问号,而是反映了实际的参数值,这从开发人员的角度来看非常有帮助,这是我通过的链接

http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/

现在我也想为我的应用程序提供相同的功能,但正如我之前所说,我使用的是面向弹簧的休眠,而且我们的休眠配置是在单个 xml 本身中完成的,如下所示,但请告知我如何配置这样的功能我的应用程序中的 P6SPY 我的休眠 xml 如下所示..

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-lazy-init="true" default-autowire="no">
    <bean id="dataSource" class="com.persist.NullConnectionCheckerOracleDataSource" destroy-method="close">
        <property name="user" value="GTO"/>
        <property name="password" value=""/>
        <property name="connectionCachingEnabled" value="true"/>
<!--        <property name="connectionCacheName" value="ia"/> -->
        <property name="connectionCacheProperties">
            <props>
                <prop key="MaxLimit">20</prop>               
                <prop key="MinLimit">0</prop>
                <prop key="InactivityTimeout">0 </prop>
                <prop key="ConnectionWaitTimeout">60</prop>
                <prop key="PropertyCheckInterval">60</prop>
                <prop key="ValidateConnection">true</prop>
            </props>
        </property>
        <property name="URL">
            <value>jdbc:oracle:thin:@ldap://ccs.fm.ldap://ccsgcm.gcm.com:4042ldap://hkg0799xus.fm.</value>
        </property>
        <property name="connectionProperties"> 
            <props> 
                <prop key="oracle.net.ldap_loadbalance">OFF</prop>
                <prop key="v$session.osuser">@db.osuser@</prop>
                <prop key="v$session.program">@db.program@</prop>
            </props> 
        </property> 
    </bean>

    <bean id="sessionFactoryTemplate" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configurationClass" value="org.hibernate.cfg.Configuration"/>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
                <prop key="hibernate.jdbc.batch_size">30</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.use_outer_join">false</prop>
                <prop key="hibernate.max_fetch_depth">10</prop>
                <prop key="hibernate.default_batch_fetch_size">150</prop>
                <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
                <prop key="hibernate.connection.autoReconnect">true</prop>
                <prop key="hibernate.connection.release_mode">on_close</prop>
                <prop key="hibernate.cache.use_query_cache">false</prop>
                <prop key="hibernate.cache.use_second_level_cache">false</prop>
                <prop key="hibernate.cache.provider_configuration_file_resour ce_path">./config/ehcache-processor1/ehcache.xml</prop>
                <prop key="hibernate.cache.use_structured_entries ">true</prop>
                <prop key="hibernate.generate_statistics">true</prop>
                <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
            </props>
        </property>
    </bean>

    <bean id="txnManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="hibernateSession" class="com.persist.HibernateSessionImpl">
        <constructor-arg><ref bean="sessionFactory"/></constructor-arg>
        <property name="txnManager" ref="txnManager"/>
    </bean>

    <bean id="hibernateAdmin" class="com.persist.HibernateAdministrationImpl">
        <constructor-arg><ref bean="sessionFactory"/></constructor-arg>
        <constructor-arg><ref bean="&amp;sessionFactory"/></constructor-arg>
    </bean>

    <bean id="systemProcessConfig" class="com.persist.SystemProcessConfiguration">
        <constructor-arg index="0" value="gp"/>
        <constructor-arg index="1" value="gp"/>
    </bean>
</beans>
4

1 回答 1

0

首先,您需要使用最新版本的 P6Spy。在以后的版本中有很多改进。顺便说一句 - 它不再托管在 SourceForge。您可以从 maven Central 获取最新版本。

有关与 Spring 的集成,请参阅此之前提出的问题的答案。

于 2015-03-16T20:58:30.273 回答