当前位置: 首页 > 面试题库 >

从Hibernate查询获取SQL字符串

庄瀚玥
2023-03-14
问题内容

我需要从Hibernate查询中获取字符串,并稍后进行处理(因此无法使用来解决"hibernate.show_sql")。

我已经看过如何从HibernateCriteriaAPI(并非用于记录日志)中获取SQL,但是有了这种解决方法,我得到了SQL查询字符串,但是没有显示它显示’?’的参数值,有没有办法获得带有参数值的完整SQL字符串?

我的意思是,有了这种解决方案,我可以得到,"SELECT * FROM USER WHERE NAME=? AND SURNAME=?"但我需要得到"SELECT * FROM USER WHERE NAME='John' AND SURNAME='Doe'"

有想法吗?


问题答案:

有一个名为p6spy的工具。它有些旧,我怕它不再维护了。无论如何,它在过去给了我很好的成绩。

编辑:刚发现它正在被积极开发。对我来说就像一个魅力!



 类似资料:
  • 问题内容: 我需要的是将URL 的值转换成变量,然后在jQuery代码中使用它: 有谁知道如何使用JavaScript或jQuery来获取该价值? 问题答案: 这就是你所需要的:) 以下代码将返回一个包含URL参数的JavaScript对象: 例如,如果您具有URL: 此代码将返回: 您可以执行以下操作:

  • 问题内容: 我有这样的数据: 我期望的输出是 我想在SQL中实现它。 问题答案: 首先创建这个 现在使用 as SQL字段 我希望这可以解决您的问题。

  • 问题内容: 在准备好的语句上调用PDOStatement :: execute()时,有没有办法使原始SQL字符串执行?对于调试目的,这将非常有用。 问题答案: 我假设您的意思是您想要最终的SQL查询,并将参数值插入其中。我知道这对调试很有用,但是它不是准备好的语句的工作方式。参数不会在客户端与预准备的语句组合,因此PDO绝对不能访问与其参数组合的查询字符串。 当您执行prepare()时,SQL

  • SearchRepository调用Mapper中的searchTmp方法,而Mapper从MyBatis XML文件调用并执行searchTmp方法。 在完美的世界中,我希望将searchTmp方法的void返回类型更改为字符串,并强制MyBatis将执行的SQL作为字符串返回。我有可能明白吗?

  • 问题内容: 我在Oracle数据库11g中使用Pl / SQL。 我正在编写一个将select语句作为参数(varchar2)的函数。该函数使用for循环遍历行并将格式应用于特定的列,并输出整个内容。基本上,我需要某种方式来获取列名,以便可以在顶部显示它们。我知道有多种方法可以对表执行此操作,但是由于传入了此查询,因此可能未选择所有列,可能已使用别名等。 有没有一种方法可以从此查询中选择列名? 理