2013-05-22 100 views
0

下面是一個方法命名getUrlDetails內WebsiteAvailability類了setString(0,字符串)不設置在java中的字符串

的方法在我的代碼():getUrlDetails(字符串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 application.And StatusCode和WebsiteAvailability是POJO類(由hibernate生成)。所以在HQL查詢中我使用的是實體類而不是數據庫表名。我使用的是postgresql。 我的問題是我沒有得到符合條件的項目列表。在?(佔位符)的位置它沒有提供input.It是採取?本身 是否有人可以幫助我..

回答

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(); 
+0

它給不能解析屬性statusCode.Why我得到這個? – user2365917

+0

嘗試使用完全代碼名稱:「... from」+ WebsiteAvailability.class.getName()+「...」。 – heikkim

+0

如何給出完全限定的名稱。這裏的websiteavailability和statuscodes表之間有foriegn的關鍵關係 – user2365917