hibernate繫結引數型別
(1)使用 ? 指定引數
...query query = session.createquery("from student s where
s.age > ? and s.name like ? ");
query.setinteger(0,18);
query.setstring(1,"%abc%");
...(2)使用 : 後跟變數的方法設定引數
...query query = session.createquery("from student s where
s.age > :minage and s.name like :likename ");
query.setinteger("minage",18);
query.setstring("likename","%abc%");
...(3)setentity()方法
setentity()方法把引數與乙個持久類的例項繫結,例如下面的示例
...team team = (team)session.get(team.class,"5f45saf45sdf456f");
query query = session.createquery("from student s where s.team = :team");
query.setentity("team",team); //設定引數為team例項
...注:上述的team物件可以是持久物件也可以是脫管物件
(4)setparameter()方法
setparameter()方法的全稱是setparameter(string paraname,例項,例項型別),這個方法
可以繫結任何型別的引數.其中第三個引數可以省略,hibernate要以根據例項推斷出絕大部分
對應的對映型別.
下面將(3)中的**做一下改動
query.setparameter("team",team,hibernate.entity(team.class)).
或者query.setparameter("team",team).
(5)setporperties()方法
該方法的全稱是setproperties(類例項).它將類例項的屬性名與引數值相對應
...student student = new student();
student.setage("18");
query query = sesion.createquery("from student s where s.age = :age");
query.setproperties(student); //設定引數為student物件
...注意:hql語句中的變數age必須和student的屬性age同名,否則會出錯.
Hibernate引數繫結示例
沒有引數繫結,您必須像這樣 錯誤 連線引數string string hql from stock s where s.stockcode stockcode list result session.createquery hql list 將未經檢查的值從使用者輸入傳遞到資料庫會引起安全問題,因為...
hibernate Query 繫結引數型別
hibernate繫結引數型別 1 使用 指定引數 query query session.createquery from student s where s.age and s.name like query.setinteger 0,18 query.setstring 1,abc 2 使用 ...
Hibernate的JNDI繫結分析
hibernate的jndi名稱繫結是在net.sf.hibernate.impl.sessionfactoryobjectfactory程式裡面實現的,我來分析一下hibernate的繫結jndi的過程 我們獲得sessionfactory一般是這樣寫 configuration conf new...