免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3401 | 回复: 2
打印 上一主题 下一主题

求教一个EJB调用存储过程的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-14 17:34 |只看该作者 |倒序浏览
系统结构如下:
数据库:Oracle
中间层:EJB
现在EJB需要从Oracle的存储过程中取出查询结果。因为Oracle是用游标返回结果集,EJB在用EntityManager调用时有问题。不知道该怎么处理。
存储过程:
create or replace procedure pro_QueryUser(
p_UserCursor out Typecursor.MyCursor
)
--查询大区信息
is
--定义查询字符串
v_qryStr varchar2(500);
begin
v_qryStr:='select * from tab_User';
open p_DqCursor for v_qryStr;
end;

EJB调用如下
public class ReadUserBean implements ReadUser {

        @PersistenceContext
        private EntityManager em;
        public String readUserByID(int pID) {
               
                String qryStr="";
                Query callPro=em.createNativeQuery("{call PRO_QUERYUSER(?)}",Tab_User.class); ---就是这里的问号需要传入一个参数,要不会报错。
                ----该怎么办呢?-------
                List result=callPro.getResultList();

Google,Baidu两天了,都没看到解决办法。
请各位大侠不吝赐教!!急!!谢谢!!

论坛徽章:
0
2 [报告]
发表于 2011-01-15 16:41 |只看该作者
没有人回答是因为大家没有遇到这个问题,还是太简单,不屑于回答呢?
我捣鼓了两天,明白了EntityManager是不支持访问这样的存储过程的,只有改用DataSource。自己回复一个,给像我这样的新手提个醒,以免走弯路。

论坛徽章:
0
3 [报告]
发表于 2011-01-17 11:05 |只看该作者
{:3_185:} 没有人回答是因为 第一 这里人比较少 看看回帖量就知道 第二 这里高手不多 看看回帖的质量就知道 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP