hibernate繫結引數型別

2021-06-23 00:04:30 字數 1474 閱讀 9652

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...