簡體   English   中英

Hql查詢綁定數據成員

[英]Hql Query to Bind a Data Member

Query qry = session.createQuery("From RegistrationBean where ? = ?");
qry.setString(0,searchCriteria);
qry.setString(1,searchField);
searchList =(ArrayList<RegistrationBean>) qry.list();

RegistrationBean Entity類具有userName, address, age字段。.我想使用上述單個查詢通過諸如userName, address等搜索條件搜索用戶...但是,即使該用戶存在,該查詢仍向我返回零結果。 。

有什么問題?

兩個參數均設置為0位置,第二個參數未設置。 位置參數應順序設置。

qry.setParameter(0,searchCriteria);
qry.setParameter(1,searchField);

但是字段名稱應通過以下方式傳遞

String queryString = "from RegistrationBean as model where model." + propertyName   + "= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();

請嘗試以下方式:

Query qry = session.createQuery("select * from RegistrationBean where :searchCrit = :searchValue");
qry.setString(":searchCrit",searchCriteria);
qry.setString(":searchValue",searchField);
searchList =(ArrayList<RegistrationBean>) qry.list();

像這樣使用它而不是設置索引更合適(您的問題是將兩個都設置為0),因為如果您在查詢中進行了某些更改,則可能需要在以后更改設置器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM