当前位置: 首页 > 知识库问答 >
问题:

Hibernate prepared语句正在用问号替换值

施权
2023-03-14

我们将Hibernate3与WebSphereV6和DB2一起使用。我们遇到了一个奇怪的问题:Hibernate发出了错误的SQL准备语句,并导致了语法问题。

选择*FROM rocc.transaction t,其中t.status_cd=?而t.application_cd=?按合并排序(t.priority,?)先取?仅行

它是用问号替换值(零),并将关键字的字体改为大写(这不重要,但在这里提到)。它还用问号更改了fetch子句中的数字25。

Hibernate有时会发出错误的准备好的语句,这是什么原因造成的?

共有1个答案

淳于宏伯
2023-03-14

这是JDBC上preparedStatement的正常行为,它将查询上的参数替换为?,这也有助于数据库为您的查询构造优化的访问计划。Hibernate只是将其自动化。

Jdbc引用或我们在Hibernate之前如何使用。

 类似资料:
  • 问题内容: 我想用Python编写一个函数,该函数根据输入索引的值返回不同的固定值。 在其他语言中,我将使用语句,但是Python似乎没有语句。在这种情况下,推荐的Python解决方案是什么? 问题答案: 你可以使用字典:

  • 我们的老师让我们创建一个关于给定情况的java程序,即使用if/else的每小时工资率,这就是我得出的结果,我对此感到高兴(我只是一个初学者)。接下来的指令是用switch语句替换if/else。他还没有讨论switch语句。我试图搜索它们,但我无法理解。请帮忙。非常感谢。 这就是确切的指示:1。使用if/else构造编写一个程序,该程序将根据工作小时数计算人员工资。注意ff:工资率为每小时35菲

  • 问题内容: 我需要使用REPLACE编写一条sql更新语句。字符串看起来像’SE * 88 * 000000001’。我需要替换两个星号“ *”之间的数字。除了要替换的数字始终在两个星号之间之外,这里没有其他模式。在这种情况下可以使用通配符吗? 感谢你的帮助。 谢谢! 问题答案: 或者,如果要替换的是一个特定的数字,那么它将更加简单:

  • Note: 这个特性从 FreeMarker 2.3.4 版本后才存在。 FreeMarker支持一个替换的语法。就是在FreeMarker的指令和注释中用 [ 和 ] 来代替 < 和 >,例如下面这个例子: 调用预定义指令:[#list animals as animal]...[/#list] 调用自定义指令:[@myMacro /] 注释:[#-- the comment --] 为了使用这

  • 尝试基于列值替换字符串,获取错误值error:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。 获取错误值错误:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。 我只需要检查字符串,如果匹配,则用另一个列值替换它

  • 问题内容: 何去做?可以使用 select 语句(其中所有空值都应替换为123)编写什么查询? 我知道我们可以做到这一点,使用update tablename set fieldname =“ 123”,其中fieldname为null; 但不能使用 select 语句来做到这一点。 问题答案: 在MySQL中,有很多选项可以代替NULL值: