Hibernate HQL基础 调用数据库存储过程
2012-05-08 17:07
387 查看
在Hibernate中也可以通过SQLQuery对象调用数据库的存储过程,但是要求存储过程必须返回一个结果集。
如在Oracle数据库的一个存储过程为:
CREATE OR REPLACE PROCEDURE selectGuestbookById
(sp_ref OUT SYS_REFCURSOR,inputId IN guestbook.id%type)AS
BEGIN
OPEN sp_ref FOR
select *from guestbook where id=inputId;
END selectGuestbookById;
调用的过程如下:
要通过Hibernate调用selectGuestbookById存储过程,还需要在Guestbook.hbm.xml文件中为其命名
<sql-query name = “com.kkoolerter.beans.Guestbook.getGuestbookBySP” callable="true">
<return alias="Guestbook" class = "com.kkoolerter.beans.Guestbook" />
{call selectGuestbookById(?:inputId)}
</sql-query>
标签<sql-query>定义一个存储过程,name属性设置其名称,callable="true"表明这是一个存储过程<return>子标签设置返回记录封装的对象类型,{call selectGuestbookById(/:inputId)}是调用存储过程的代码。
调用存储过程的代码如下:
Query query = session.getNamedQuery(“com.kkoolerter.beans.Guestbook.getGuestbookBySP”);
query.setInteger("inputId",1);
Guestbook gb = (Guestbook)session.uniqueryResult();
转自:http://wujuxiang.blog.51cto.com/2250829/403698
如在Oracle数据库的一个存储过程为:
CREATE OR REPLACE PROCEDURE selectGuestbookById
(sp_ref OUT SYS_REFCURSOR,inputId IN guestbook.id%type)AS
BEGIN
OPEN sp_ref FOR
select *from guestbook where id=inputId;
END selectGuestbookById;
调用的过程如下:
要通过Hibernate调用selectGuestbookById存储过程,还需要在Guestbook.hbm.xml文件中为其命名
<sql-query name = “com.kkoolerter.beans.Guestbook.getGuestbookBySP” callable="true">
<return alias="Guestbook" class = "com.kkoolerter.beans.Guestbook" />
{call selectGuestbookById(?:inputId)}
</sql-query>
标签<sql-query>定义一个存储过程,name属性设置其名称,callable="true"表明这是一个存储过程<return>子标签设置返回记录封装的对象类型,{call selectGuestbookById(/:inputId)}是调用存储过程的代码。
调用存储过程的代码如下:
Query query = session.getNamedQuery(“com.kkoolerter.beans.Guestbook.getGuestbookBySP”);
query.setInteger("inputId",1);
Guestbook gb = (Guestbook)session.uniqueryResult();
转自:http://wujuxiang.blog.51cto.com/2250829/403698
相关文章推荐
- Hibernate HQL基础 调用数据库存储过程
- Java基础系列12:使用CallableStatement接口调用数据库中的存储过程
- Hibernate的调用数据库的存储过程
- Hibernate HQL基础 调用数据库存储过程
- Hibernate调用mysql5.0存储过程小记
- hibernate 调用存储过程
- java调用存储过程 从spring中获取数据库连接
- Hibernate性能优化之抓取策略和调用存储过程
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- 调用存储过程,java中通过bboss persistent实现数据库存储过程的调用(位置变量绑定)
- Hibernate3调用带返回参数的mysql存储过程
- hibernate 调用存储过程
- 在JAVA中实现数据库存储过程的统一调用
- 数据库基础知识点二:PLSQL、游标、程序包、存储过程、触发器,序列,视图,索引,数据字典
- 运用ORACLE的OO4O类库函数解决调用存储过程向远程数据库上传超过32K图片失败的问题
- hibernate 3.1 调用存储过程
- SQL Server 2000数据库存储过程的调用(VB)
- sql 存储过程参数是表类型,数据库中如何调用
- ADO.NET之存储过程的调用(更删改查数据库)