Hibernate显示真正的SQL [英] Hibernate show real SQL

查看:101
本文介绍了Hibernate显示真正的SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我设置了

 < property name =show_sql> true< / property> 

在我的 hibernate.cfg.xml 配置文件中,我可以查看SQL。



但它不是真正的SQL我可以看到将直接传递到数据库的SQL代码吗?



示例:



我看到

 从true.employee this_中选择this_.code,其中this_.code =? 

我可以看到

 从雇员处选择employee.code,其中employee.code = 12 

real SQL?

解决方案

log4j.properties



  log4j.logger.org.hibernate = INFO,hb 
log4j.logger.org.hibernate.SQL = DEBUG
log4j.logger.org.hibernate.type = TRACE
log4j.logger.org.hibernate.hql.ast.AST = info
log4j.logger.org.hibernate.tool.hbm2ddl = warn
log4j.logger.org.hibernate.hql = debug
log4j.logger.org.hibernate.cache = info
log4j.logger.org.hibernate.jdbc = debug

log4j.appender.hb = org.apache。 log4j.ConsoleAppender
log4j.appender.hb.layout = org.apache.log4j.PatternLayout
log4j.appender.hb.layout.ConversionPattern = HibernateLog - > %d {HH:mm:ss}%-5p%c - %m%n
log4j.appender.hb.Threshold = TRACE


$ b $ h hibernate.cfg.xml

$ p $ < property name =show_sql>真LT; /性>
< property name =format_sql> true< / property>
< property name =use_sql_comments> true< / property>



persistence.xml



一些框架使用 persistence.xml

 < property name =hibernate.show_sql value =true/> 
< property name =hibernate.format_sqlvalue =true/>
< property name =hibernate.use_sql_commentsvalue =true/>


if I set

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

in my hibernate.cfg.xml configuration file in the console I can see the SQL.

But it's not real SQL... Can I see the SQL code that will be passed directly to database?

Example:

I see

select this_.code from true.employee this_ where this_.code=?

Can I see

select employee.code from employee where employee.code=12

the real SQL?

解决方案

log4j.properties

log4j.logger.org.hibernate=INFO, hb
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=debug

log4j.appender.hb=org.apache.log4j.ConsoleAppender
log4j.appender.hb.layout=org.apache.log4j.PatternLayout
log4j.appender.hb.layout.ConversionPattern=HibernateLog --> %d{HH:mm:ss} %-5p %c - %m%n
log4j.appender.hb.Threshold=TRACE

hibernate.cfg.xml

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

persistence.xml

Some frameworks use persistence.xml:

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>

这篇关于Hibernate显示真正的SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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