0

下面是我在 WebsiteAvailability 类的名为 getUrlDetails() 的方法中的代码

方法内部:getUrlDetails(String selUrl)

List<WebsiteAvailability>avaList=new ArrayList<WebsiteAvailability>

String selquery="select w.statusCode,w.updateTime,s.statusCodeValue from WebsiteAvailability     w,StatusCodes s where w.statusCode=s.statusCodeNo and w.url=?";
avaList=session.createQuery(selquery).setString(0,selUrl).list();

这是hibernate java应用程序。StatusCode和WebsiteAvailability是POJO类(由hibernate生成)。所以在HQL查询中我使用实体类而不是数据库表名。我使用的是postgresql。我的问题是我没有得到与 where 条件匹配的项目列表。代替 ?(placeholder) 它没有接受提供的输入。它正在接受 ? 本身有人可以帮助我..

4

1 回答 1

0

使用setString(1, ...) 编辑:不,它是 setString(0, ...)

您可以尝试使用命名参数:

String selquery="select w.statusCode,w.updateTime,s.statusCodeValue from WebsiteAvailability     w,StatusCodes s where w.statusCode=s.statusCodeNo and w.url=:selUrl";
avaList=session.createQuery(selquery).setString("selUrl",selUrl).list();
于 2013-05-22T08:14:20.610 回答