Hibernate 3 的存儲(chǔ)過程查詢方式:
首先創(chuàng)建以下Oracal存儲(chǔ)過程:
CREATE OR REPLACE FUNCTION getUsersByAge(userAge in NUMBER)
?RETURN
?SYS_PEFCURSOR AS c_user SYS_REFCURSOR;
BEGIN
?OPEN c_user FOR
? SELECT ID,NAME,AGE FROM TUSER WHERE AGE = userAge;
?RETURN c_user;
END;
對(duì)應(yīng)的sql-query定義如下:
<sql-query name="getUsersByAge" callable="true">
<return alias="user" class="">
? <return-property name="id" column="ID"/>
? <return-property name="name" column="NAME"/>
? <return-property name="age" column="AGE"/>
</return>
{ ? = call getUsersByAge(?) }
</sql-query>
測試程序如下:
Query query = session.getNamedQuery("getUsersByAge");
query.setInteger(0,18);
List list = query.list();
Iterator it = list.iterator();
while(it.hasNext()){
?TUser user = (TUser)it.next();
?System.out.println(user.getName());
}
摘自《深入淺出Hibernate》
posted on 2007-01-03 15:57
Lib 閱讀(1605)
評(píng)論(0) 編輯 收藏 所屬分類:
開源框架