【发布时间】:2025-11-29 01:40:01
【问题描述】:
我想将休眠生成的 sql 查询打印到控制台。
insert into ORDERS (CRETN_DT, CRETN_USER_ID, LAST_UPDT_DT, LAST_UPDT_USER_ID, ORDER_ID) values (?, ?, ?, ?, ?)
这是我在控制台上看到的。代替 ? ,是否可以打印实际值?我不想在查询下方打印参数值,而是将 ?s 替换为可以针对 db 执行的实际值。
【问题讨论】:
-
这会生成查询和参数no?
-
感谢您的链接。但是我希望将 ?s 替换为实际值。列出的方法似乎列出了查询下方的参数。
-
那可能是因为不可能。对于大多数数据库驱动程序,查询是使用这些参数占位符准备的,并且值总是单独发送。查询中永远不会使用这些值而不是参数值进行查询,因此大多数工具不会尝试生成它,因为它不是很有用(容易出错,额外的代码维护,以这种方式生成的查询实际上可能不会对目标数据库等有效)。
-
尝试 logback。在 logback.xml 中使用下一个设置,记录休眠绑定值: