Hibernate HQL基础 调用数据库存储过程
来源:互联网 发布:ubuntu搜狗输入法 乱码 编辑:程序博客网 时间:2024/06/13 08:22
在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);
如在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基础 调用数据库存储过程
- hibernate调用存储过程
- Hibernate调用存储过程
- hibernate调用存储过程
- hibernate 调用存储过程
- hibernate调用存储过程
- Hibernate调用存储过程
- Hibernate调用存储过程
- Hibernate --调用存储过程
- hibernate调用存储过程
- hibernate调用存储过程
- hibernate 调用存储过程
- hibernate调用存储过程
- Hibernate调用存储过程
- hibernate调用存储过程
- hibernate调用存储过程
- hibernate 调用存储过程
- hibernate 调用存储过程
- Android/linux(earlysuspend、lateresume)睡眠唤醒机制简介
- 一次性能测试总结
- android Webservice 学习(记录)
- 批处理之结束进程
- read
- Hibernate HQL基础 调用数据库存储过程
- hdu1114
- osg 修改视景器中照相机的方法
- cxGrid根据条件改变文字颜色
- 队列的链式实现
- 新浪微博(二十二)微博布局文件(weibo_content_item.xml)
- DIRECTOR 之游戏碰撞学二
- typeid
- linux下安装loudmouth库中碰到的问题 & 解决方法