在Hibernate中,是否可以使用实际值而不是问号来打印生成的SQL查询?

如果Hibernate API无法实现,您建议如何打印带有真实值的查询?

推荐答案

您需要为以下类别启用logging:

  • org.hibernate.SQL   - set to debug to log all SQL DML statements as they are executed
  • org.hibernate.type-设置为trace以记录所有JDBC参数

因此,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=true个传统property,第二个相当于prints the bound parameters among other things.

另一个解决方案(非基于hibernate)是使用JDBC代理驱动程序,比如P6Spy.

Java相关问答推荐

在没有maven或IDE的情况下从命令行运行PFA模块化应用程序时出现神秘错误

Java中Stream(java.util.stream)和linkedList数据 struct 之间是什么关系?

将@ManyToOne JPA Composite Key用作Id保存实体添加额外参数

将状态栏和导航栏设置为白色,带有深色文本

是否需要关闭Executors返回的执行器.newVirtualThreadPerTaskExecutor()?

空手道比赛条件

scanner 如何在执行hasNextLine一次后重新读取整个文件?

使用Java Streams API比较两个不同的Java集合对象和一个公共属性

RxJava PublishSubject缓冲区元素超时

Android Studio—java—在onBindViewHolder中,将断点和空白添加到BackclerView中

无法传递消费者<;>;实例

有关手动创建的包的问题

FALSE:它应该在什么时候使用?

如何在Application.yaml中连接字符串?

如何使用Criteria Builder处理一对多关系中的空值?

如果第一位数字和最后一位数字相差超过一位,您将如何获得随机数?

从泛型枚举创建EnumMap

Java 21中泛型的不兼容更改

org.springframework.web.HttpRequestMethodNotSupportedException:请求方法';帖子';不支持

try 添加;按流派搜索;在Web应用程序上,但没有;I don’我不知道;It’这个代码错了