在Hibernate中,是否可以用实数而不是问号打印生成的SQL查询
如果HibernateAPI无法实现,您建议如何使用实际值打印查询
您需要启用以下类别的日志记录:
org.hibernate.SQL ;-设置为debug以记录所有执行的SQL DML语句org.hibernate.type-设置为trace以记录所有JDBC参数
因此,log4j配置可能如下所示:
#记录SQL语句
log4j.logger.org.hibernate.SQL=debug
#记录传递给查询的JDBC参数
log4j.logger.org.hibernate.type=trace
第一个相当于hibernate.show_sql=truelegacy属性,第二个属性打印绑定参数以及其他内容。
另一个解决方案(非基于hibernate)是使用JDBC代理驱动程序,如P6Spy