我不确定为什么它不显示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,甚至可能没有正确注入?)
请提前帮助谢谢!
确保DEBUG是好的,一度hibernate日志记录从DEBUG变为TRACE.还要确保你的门槛没有门槛log4j.config.如果你想要显示你的参数包括org.hibernate.type.您可能还需要设置org.hibernate.jdbc=TRACE或尝试org.hibernate=TRACE分析您的需求并更改回每个包的适当级别.