首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Hibernate显示real SQL

Hibernate显示real SQL
EN

Stack Overflow用户
提问于 2010-03-29 17:17:22
回答 5查看 559.1K关注 0票数 417

如果我设置

代码语言:javascript
复制
<property name="show_sql">true</property>

在控制台的hibernate.cfg.xml配置文件中,我可以看到SQL。

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

示例:

我明白了

代码语言:javascript
复制
select this_.code from true.employee this_ where this_.code=?

我能看看吗?

代码语言:javascript
复制
select employee.code from employee where employee.code=12

真正的SQL?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-03-29 23:05:43

log4j.properties

代码语言:javascript
复制
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

代码语言:javascript
复制
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>

persistence.xml

一些框架使用persistence.xml

代码语言:javascript
复制
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>
票数 265
EN

Stack Overflow用户

发布于 2010-03-29 17:20:16

我能看看(...)真正的SQL

如果希望看到直接发送到数据库的SQL (格式类似于示例中的),则必须使用某种驱动程序代理,如P6Spy (或log4jdbc)。

或者,您可以启用以下类别的日志记录(此处使用log4j.properties文件):

代码语言:javascript
复制
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE

第一个函数等同于hibernate.show_sql=true,第二个函数打印绑定的参数。

参考文献

票数 394
EN

Stack Overflow用户

发布于 2010-03-29 20:51:47

如果您已经可以看到正在打印的SQL,这意味着您的hibernate.cfg.xml中包含以下代码:

代码语言:javascript
复制
<property name="show_sql">true</property>

要同时打印绑定参数,请将以下内容添加到log4j.properties文件中:

代码语言:javascript
复制
log4j.logger.net.sf.hibernate.type=debug
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2536829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档