Spring - Hibernate会显示DEBUG,不会显示sql

时间:2013-10-16 01:03:32

标签: spring hibernate log4j slf4j

我在我的网络项目中使用Spring 3.x和Hibernate 4.x。

问题是它会显示DEBUG消息,但是我需要调试的SQL语句。

以下是我的设置。

弹簧servlet.xml中

<!-- Session Factory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource"/>
        </property>

        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>

        <property name="hibernateProperties">
        <props>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>

    </bean>

    <!-- Data Source -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="com.tmax.tibero.jdbc.TbDriver"/>
        <property name="jdbcUrl" value="****"></property>
        <property name="user" value="****"></property>
        <property name="password" value="****"></property>
        <property name="initialPoolSize"><value>3</value></property>
        <property name="minPoolSize"><value>3</value></property>
        <property name="maxPoolSize"><value>50</value></property>
    </bean> 

的hibernate.cfg.xml

<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<!-- Disable the second-level cache -->
         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

         <!-- Echo all executed SQL to stdout -->
         <property name="show_sql">true</property>

1 个答案:

答案 0 :(得分:1)

我使用下面的配置。我希望这可以帮助那些遇到同样麻烦的人。我将任何与hibernate相关的配置属性移动到hibernate.cfg.xml中。

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
    </bean>

在hibernate.cfg.xml

<property name="show_sql">true</property>