即使使用sql_show = true,Hibernate也不会显示sql语句 [英] Hibernate not showing sql statement even with sql_show=true

查看:194
本文介绍了即使使用sql_show = true,Hibernate也不会显示sql语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不确定为什么它不显示sql语句。



在ApplicationContext中,我有:

pre> < bean id =mySessionFactoryclass =org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean>
< property name =dataSourceref =myDataSource/>
< property name =hibernateProperties>
<道具>
< prop key =hibernate.dialect> org.hibernate.dialect.OracleDialect< / prop>
< prop key =hibernate.show_sql> true< / prop>
< /道具>
< / property>
< property name =packagesToScan>
< list>
<值> my.model。*< /值>
< / list>
< / property>
< / bean>

在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

#包装覆盖设置
log4j.logger.org.hibernate.SQL = DEBUG,stdout
log4j.additivity.org.hibernate .SQL = false
log4j.logger.org.displaytag = INFO

log4j.rootLogger = DEBUG,stdout

其他一切似乎都很好,但它并没有显示出sql。



我错过了什么吗?



(或者可以从SessionFactory从org.hibernate.cfg打印.Environment.getProperties()?它不显示show_sql,可能没有正确注入?)

请帮助
提前致谢!

解决方案

确保DEBUG是好的,一旦hibernate日志从DEBUG变为TRACE。
还要确保在 log4j.config 中没有阈值。
,如果你想要显示你的参数,则包括 org.hibernate.type 。您可能还需要设置 org.hibernate.jdbc = TRACE 或尝试 org.hibernate = TRACE 分析您的需求并变回每个包装适当的水平。

I am not sure why it doesn't show sql statement. I have it working before (on older spring, I am using 3 this time)

In ApplicationContext I have :

<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>

In 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

Everything else seems fine, but it just doesn't show me the sql.

Did I miss anything?

(Or is it possible to print from SessionFactory from org.hibernate.cfg.Environment.getProperties()? It is not showing the show_sql, probably not even injected properly?)

Please help Thanks in advance!

解决方案

make sure DEBUG is good, at one point hibernate logging changed from DEBUG to TRACE. Also make sure there is no threshold in your log4j.config. if you want also your arguments to be displayed include org.hibernate.type. You may also need to set org.hibernate.jdbc=TRACE or try org.hibernate=TRACE analyse your needs and change back to proper levels per package.

这篇关于即使使用sql_show = true,Hibernate也不会显示sql语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆