Java + Hibernate - 将带有值的查询打印到控制台

标签 java oracle hibernate

我想将 hibernate 生成的 sql 查询打印到控制台。

insert into ORDERS (CRETN_DT, CRETN_USER_ID, LAST_UPDT_DT, LAST_UPDT_USER_ID, ORDER_ID) values (?, ?, ?, ?, ?)

这是我在控制台上看到的。代替 ? ,是否可以打印实际值?我不想在查询下面打印参数值,而是想将 ?s 替换为可以针对数据库执行的实际值。

最佳答案

您可以使用datasource-proxyp6spy

这允许您查看触发 SQL 时使用的实际参数值。有关如何配置的示例可以找到 here

示例格式如下:

Name:DATA_SOURCE_PROXY, Time:6, Success:True, Type:Prepared, Batch:True, QuerySize:1, BatchSize:3, Query:["insert into post (title, version, id) values (?, ?, ?)"], Params:[(Post no. 0, 0, 0), (Post no. 1, 0, 1), (Post no. 2, 0, 2)

关于Java + Hibernate - 将带有值的查询打印到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49949620/

相关文章:

sql - 如何找出 Oracle DB 中的列何时更改?

mysql - Oracle 到 MySQL 的 CASE 语句

java - 当我已经定义了 bean 时,为什么会收到 NoSuchBeanDefinitionException?

oracle - Oracle触发器的HIbernate问题,用于从序列中生成ID

java - 检查 WebElement 对象中是否存在元素

Java:生命游戏 - 与邻居的问题

检查给定范围之间的数字是否为回文的 Java 程序

java - 检索在 JDialog 中输入的输入

sql - 从表示树结构的 Oracle 表中选择所有后代行

java - 更改用户后 Hibernate 不运行