在控制台中显示Hibernate打印的SQL中的参数

默认情况下,hibernate的sql中都是以问号代表参数,并没有显示参数的真实值,但是也不是做不到,只需要两步配置就可以显示出参数的真实值了:

1.spring的配置文件中增加:

<prop key="hibernate.show_sql">true</prop>

或者在hibernate的配置文件中增加:
<property name="show_sql">true</property>

2.在log4j.properties中做如下配置:

log4j.appender.STDOUT.Threshold=trace
log4j.category.org.hibernate.SQL=trace
log4j.category.org.hibernate.type=trace

控制台显示如下:

Hibernate: insert into app_log (time, usr, ip, level, log) values (?, ?, ?, ?, ?)
log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding '2010-11-29 14:36:48' to parameter: 1
log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding '1' to parameter: 2
log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding '127.0.0.1' to parameter: 3
log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding 'info' to parameter: 4
log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding 'admin login ' to parameter: 5

转自:http://joeblow.iteye.com/blog/828218
发布了13 篇原创文章 · 获赞 3 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章