ejb中relationship的问题,高手请进

sanyo_rider 2004-11-12 02:10:38
1、建立实体BEAN 有两个实体BEAN,DhbDdxgdb、Rybm,关系是多对一。
2、建立session bean 我在sessionbean 中调用他们代码如下:结果没问题
Collection c=null;
//J2eeUser4 userbm=null;
RybmHome rybmhome=null; //HOME
Rybm rybm=null; //LOCAL
DhbDdxgdb dhbddxgdb=null;
try{
Context ctx = new InitialContext();

Object objRef = ctx.lookup("Rybm");
rybmhome = (RybmHome) javax.rmi.PortableRemoteObject.narrow(objRef,
RybmHome.class);
rybm=rybmhome.findByPrimaryKey("xt12");
//out.println(rybm.getRybm());
c=rybm.getDhbDdxgdb();
iter=c.iterator();
/* while (iter.hasNext())
{
dhbddxgdb=(DhbDdxgdb)iter.next();
System.out.println(dhbddxgdb.getDhr());
}*/


}catch (Exception ee)
{
System.out.println("error in sessionbean");
}
////////////////////////////////////////////////////////
3、在客户调用:然后我又到 jsp调用sessionbean 代码如下:
Collection c=null;
Iterator iter=null;
//J2eeUser4 userbm=null;
DhbDdxgdb dhbddxgdb=null;
getmcp7Home rybmhome=null; //HOME
getmcp7 rybm=null; //LOCAL

Context ctx = new InitialContext();

Object objRef = ctx.lookup("getmcp7");
rybmhome = (getmcp7Home) javax.rmi.PortableRemoteObject.narrow(objRef,
getmcp7Home.class);
rybm=rybmhome.create();
//out.println(rybm.getRybm());
iter=rybm.getResult();
//out.println(c.size());
//iter=c.iterator();
while (iter.hasNext())
{
dhbddxgdb=(DhbDdxgdb)iter.next();
out.println(dhbddxgdb.getDhr());
}
//////////////////////////////////////////////////////////////////////
4、出现错误如下:org.apache.jasper.JasperException: The iterator of a CMR collection may only be used within the transction in which it was created
///////////////////////////////////////////
5、问题:我如何解决?是否只能在sessionbean里把所有数据写到数组,然后把数组返回给jsp?
...全文
89 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeshucheng 2004-11-12
  • 打赏
  • 举报
回复
rybm=rybmhome.create();
//out.println(rybm.getRybm());
iter=rybm.getResult();
//out.println(c.size());
//iter=c.iterator();
while (iter.hasNext())
{
dhbddxgdb=(DhbDdxgdb)iter.next();
out.println(dhbddxgdb.getDhr());
}
以上的最好写到你要的方法中去,至于定位单独写
tangboyong 2004-11-12
  • 打赏
  • 举报
回复
我知道,我认识那几个单词,关键是我现在该怎么处理
yeshucheng 2004-11-12
  • 打赏
  • 举报
回复
collection may only be used within the transction in which it was created
集合写错了地方,只能写在事物处理被创建,你写在了初始的地方了,最好写在相应的方法内
tangboyong 2004-11-12
  • 打赏
  • 举报
回复
看来这里确实少高手
临走帮你顶一下
tangboyong 2004-11-12
  • 打赏
  • 举报
回复
我也遇到同样的问题,我关注答案
sanyo_rider 2004-11-12
  • 打赏
  • 举报
回复
好歹,大家帮我顶,谢谢

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧