在Hibernate中是否可以用实际值而不是问号打印生成的SQL查询?
如果Hibernate API无法实现,您将如何建议使用实值打印查询?
您需要为以下类别启用日志记录:
org.hibernate.SQL
debug
org.hibernate.type
trace
因此,log4j配置如下所示:
# logs the SQL statements log4j.logger.org.hibernate.SQL=debug # Logs the JDBC parameters passed to a query log4j.logger.org.hibernate.type=trace
第一个等效于hibernate.show_sql=truelegacy 属性,第二个则打印绑定参数。
hibernate.show_sql=truelegacy
另一个解决方案(基于非hibernate)是使用JDBC代理驱动程序,如P6Spy。