如何使Hibernate在控制台中打印ID?

问题描述:

我正在使用Hibernate/Spring。我有Hibernate配置为输出HQL到控制台;它显示诸如:如何使Hibernate在控制台中打印ID?

Hibernate: update sometable set some_field=?, other_field=? where id=? 

这很好。我想要的唯一附加事项是用REAL ID替换问号。

上下文是,我试图调查是否在该记录的父/所有者发生更改(例如,从P1到P2)之后,级联删除是否负责删除记录,然后删除旧父级P1 。

您需要启用这个包(log4j的)记录,在这个级别:

org.hibernate.sql=TRACE 
org.hibernate.type=TRACE 

应该产生跟踪各参数的消息。

@see thierd replaiy为例

加入

只有一个提示:

:因为如果显示/记录到不同的地方的陈述和参数将是无用

除了使用“hibernate.show_sql”,您可以为“org.hibernate.SQL”启用DEBUG日志记录。现在您应该看到Log4J输出中记录的SQL而不是控制台中。

+0

我不确定我明白你的意思。这些额外的属性放在hibernateProperties中,还是你在谈论log4j日志? – ashes999 2011-01-27 17:34:21