现在我在查询中使用 hql。代码是:
return session.createQuery(
"from Company com "
+ " where com.comId = "
+ ":comId and com.phoneNumber = :phoneNumber")
.setString("comId", comId).setString("phoneNumber",
phoneNumber).list();
DB中的电话号码是varchar2(255 char),我使用Oracle DB。
但是这段代码不能在java代码中工作。如果电话号码是“999-000-0001”,它可以工作。我可以得到一个记录。但是如果电话号码是“USPersonal”,我就不会得到记录。
在Company.java 中,phoneNumber 是String,并且有get 和set 方法。
在 DB 中,我使用 Sql Developer,我可以获得以上所有内容。
我不知道,为什么会这样?setString 不起作用吗?