大鱼
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2009年9月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
统计
随笔 - 86
文章 - 0
评论 - 9
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
eclipse(2)
(rss)
EJB(11)
(rss)
hibernate
(rss)
html(1)
(rss)
j2ee(5)
(rss)
j2se(18)
(rss)
javascript(5)
(rss)
JBOSS(4)
(rss)
JPA(3)
(rss)
JSF(5)
(rss)
jsp(5)
(rss)
oracle(6)
(rss)
richfaces(2)
(rss)
spring(2)
(rss)
uml
(rss)
unix(1)
(rss)
操作系统(3)
(rss)
软件工程(13)
(rss)
随笔档案
2011年10月 (6)
2011年6月 (11)
2011年5月 (1)
2011年3月 (1)
2010年10月 (2)
2010年4月 (7)
2010年2月 (3)
2010年1月 (1)
2009年12月 (2)
2009年11月 (3)
2009年10月 (9)
2009年9月 (4)
2009年4月 (4)
2009年3月 (32)
收藏夹
JPA(2)
(rss)
图表(1)
(rss)
搜索
最新评论
1. re: JSF中隐藏A4J按钮和普通按钮的JS单击事件
....
--12
2. re: JSF中隐藏A4J按钮和普通按钮的JS单击事件
lll
--12
3. re: Java实现四则运算的解析收藏
2000+600/3-300*2+0.1 = 1599.9 ????
--lrklx
4. org.hibernate.HibernateException: identifier of an instance of cn.com.sinosoft.ebusiness.online.sale.domain.GeProposal was altered from 8906909140472133 to 000260802402288
axxz
--csa
5. re: 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
收藏了
--安多
阅读排行榜
1. org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(lineItems)](3675)
2. 如何写详细设计文档(3184)
3. EJB异常:identifier of an instance of net.model.entity.Role was altered from 2 to 0(2108)
4. FineReport调用Oracle数据库中的存储过程需要两步走(1989)
5. 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序(1797)
评论排行榜
1. JSF中隐藏A4J按钮和普通按钮的JS单击事件(2)
2. 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序 (1)
3. linux 配置jdk(1)
4. Java实现四则运算的解析收藏(1)
5. 在Eclipse中反编译Class文件完全详解(1)
EJB调用存储过程
EJB调用存储过程
要调用存储过程,我们可以通过EntityManager 对象的createNativeQuery()方法执行SQL 语句(
注意:这里说的是SQL 语句,不是EJB3 QL
), 调用存储过程的SQL 格式如下:
{call 存储过程名称(参数1, 参数2, … )}
在EJB3 中你可以调用的存储过程有两种
1.无返回值的存储过程。
2.返回值为ResultSet(以select 形式返回的值)的存储过程,EJB3 不能调用以OUT 参数返回值的存储过程
1.调用无返回值的存储过程
//调用无返回参数的存储过程
Query query = em.createNativeQuery("{call Procedure()}");
query.executeUpdate();
2.调用返回单值的存储过程
//调用返回单个值的存储过程
Query query = em.createNativeQuery("{call GetPersonName(?)}");
query.setParameter(1, new Integer(1));
String result = query.getSingleResult().toString();
3.调用返回表全部列的存储过程
在调用存储过程时,可以让EJB3 Persistence 运行环境将列值直接填充入一个Entity 的实例(本例填充进Person 对象),并将实例作为结果返回
//调用返回Person 全部列的存储过程
Query query = em.createNativeQuery("{call GetPersonList()}", Person.class);
List result = query.getResultList();
存储过程
GetPersonList:
CREATE PROCEDURE `GetPersonList`()
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
select * from person;
END;
4.调用返回部分列的存储过程
创建存储过程:
CREATE PROCEDURE `GetPersonPartProperties`()
NOT DETERMINISTICSQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT personid, personname from person;
END;
//调用返回部分列的存储过程
Query query = em.createNativeQuery("{call GetPersonPartProperties()}");
List result = query.getResultList();
posted on 2009-09-24 17:28
大鱼
阅读(566)
评论(0)
编辑
收藏
所属分类:
EJB
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
ejb3笔记
EJB3 QL查询
EJB调用存储过程
EJB3常见异常及解决
org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(lineItems)]
EJB异常:Cannot instantiate class:org.jnp.interfaces.NamingContextFactory
EJB异常:Collection has neither generic type or OneToMany.targetEntity() defined:
EJB3.x:部署(卸载)EntityBean时自动创建(删除)表结构
EJB异常:identifier of an instance of net.model.entity.Role was altered from 2 to 0
EJB3.x:关于@UniqueConstraint标记中的columnNames属性
Powered by:
BlogJava
Copyright © 大鱼