即使sql_show = true,Hibernate也不会显示sql语句

Roy*_*han 10 spring hibernate

我不确定为什么它不显示sql语句.我之前有它工作(在较早的春天,我这次使用3)

在ApplicationContext中我有:

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="myDataSource"/>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
    <property name="packagesToScan">
        <list>
            <value>my.model.*</value>
        </list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

在log4j中:

# Standrd System.out appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# package override setting
log4j.logger.org.hibernate.SQL=DEBUG, stdout
log4j.additivity.org.hibernate.SQL=false
log4j.logger.org.displaytag=INFO

log4j.rootLogger=DEBUG, stdout
Run Code Online (Sandbox Code Playgroud)

其他一切似乎都很好,但它只是没有向我展示sql.

我错过了什么吗?

(或者是否可以从org.hibernate.cfg.Environment.getProperties()中的SessionFactory进行打印?它没有显示show_sql,甚至可能没有正确注入?)

请提前帮助谢谢!

dr *_*rry 9

确保DEBUG是好的,一度hibernate日志记录从DEBUG变为TRACE.还要确保你的门槛没有门槛log4j.config.如果你想要显示你的参数包括org.hibernate.type.您可能还需要设置org.hibernate.jdbc=TRACE或尝试org.hibernate=TRACE分析您的需求并更改回每个包的适当级别.

  • hibernate.show_sql属性不受日志记录的约束.它直接写入stdout. (3认同)