【问题标题】:Hibernate query.setString don't work休眠 query.setString 不起作用
【发布时间】:2014-11-07 02:48:06
【问题描述】:

现在我在查询中使用 hql。 代码是:

return session.createQuery(
                "from Company com "
                        + " where com.comId = "
                        + ":comId and com.phoneNumber = :phoneNumber")
                .setString("comId", comId).setString("phoneNumber",
                        phoneNumber).list();

DB 中的 phoneNumber 是 varchar2(255 char),我使用的是 Oracle DB。

但是这段代码不能在 java 代码中运行。 如果电话号码是“999-000-0001”,它可以工作。我可以得到一个记录。 但是如果 phoneNumber 是“USPersonal”,我不会得到记录。

在Company.java中,phoneNumber是String,有get和set方法。

在 DB 中,我使用 Sql Developer,我可以得到以上所有内容。

我不知道,为什么会这样?是不是 setString 不起作用?

【问题讨论】:

    标签: java varchar2 setstring


    【解决方案1】:

    我已经解决了这个问题。

    因为在这种情况下,电话号码来自文件。在文件中,我忽略了phoneNumber“USPersonal”中有一些空格,而在DB中,它只是“USPersonal”。

    所以我没有得到这个记录。

    上面的代码是正确的。 我真是太粗心了!

    【讨论】:

      猜你喜欢
      • 2015-10-28
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 2013-09-25
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多