一尘不染

Java Hibernate展示真实的SQL

java

如果我设置

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

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

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

例:

我知道了

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

我可以看吗

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

在真正的 SQL?


阅读 403

收藏
2020-02-27

共2个答案

一尘不染

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

一些框架使用persistence.xml:

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>
2020-02-27
一尘不染

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

log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE

第一个等效于hibernate.show_sql=true,第二个输出绑定参数。

2020-02-27