会话Bean调用实体Bean的问题! 这个错误已经解决了,但是出现查找数据库的java.sql.SQLException: No data found很是奇怪.错误仍然是当前行! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的EJB服务器的连接池没有正确配置!我以前碰见过。不知道你用的什么Server? 看是不是没有注册到home查找一写目录树public getInfo(String id){try{InitialContext initial = new InitialContext(); StuHome stu= (StuHome) initial.lookup("java:comp/env/ejb/stu");stu=home.findByPrimaryKey(id);return stu.getName();}catch (FinderException e) { throw new EJBException ("Unable to find the user " + id, e);} <prim-key-class>java.lang.String少不少,看看字段映射。 我查看了SQL数据库的事件探查器,发现查找的方法已经被探查器查找到对应的SQL语句执行:SELECT WLO.ID,WLO.email,WLO.name,WLO.password from Student where id=@p1下面又出现一行为@p1="";这个值为我传递进来的参数值,所有的一切都是对的.却在public ejb.Student findByPrimaryKey(java.lang.String arg0) throws javax.ejb.FinderException{ try { return (ejb.Student) super.findByPrimaryKey(md_ejbFindByPrimaryKey_S, arg0 ); } catch (java.lang.Exception e) { if (e instanceof javax.ejb.EJBException) { throw (javax.ejb.EJBException)e; } else if (e instanceof javax.ejb.FinderException) { throw (javax.ejb.FinderException) e;//抛出异常所在} else { throw new javax.ejb.FinderException ("Error while finding bean: " + e.toString()); } }}中抛出javax.ejb.FinderException的异常!各位看看究竟是什么原因?? 一个看法:findByPrimaryKey这个方法是home的方法,不是ejb对象的方法。你在使用super保留字调用的时候好像应该用ejbFindByPrimaryKey。另外,你的md_ejbFindByPrimaryKey_S是什么参数?抛出的异常究竟是那一个FinderException,系统抛出的还是你自己创建的? 再说一遍,方法名应该是ejbFindByPrimaryKey。另外,如果不是方法名的问题,首先把参数打印出来看看,保证没有错误,其次请仔细检查ejbFindByPrimaryKey,一定是主键什么地方有问题。说实话我看不出什么特别大的逻辑错误会导致该异常。 最终的解决办法是换驱动,ODBC桥好像有这种问题! spring中的代理模式 想实现jsp页面提示效果谁给指点一下 代码详细一点 WEB SERVICE hibernate的一个小问题 hibernate多对多删除问题!! 请教一个struts登录验证的问题 用spring和strut整合的时候,出了下面的问题 spring+hibernate的问题 EJB中如何使用动态类加栽技术?? 急求讲解struts的几个Action的作用!!!!! 我想学习J2EE该从哪里入手??? 学习java的女人到底有多少?大家估一下!!!!
查找一写目录树
public getInfo(String id){
try{InitialContext initial = new InitialContext();
StuHome stu= (StuHome) initial.lookup("java:comp/env/ejb/stu");
stu=home.findByPrimaryKey(id);
return stu.getName();
}catch (FinderException e) {
throw new EJBException
("Unable to find the user " + id, e);
}
SELECT WLO.ID,WLO.email,WLO.name,WLO.password from Student where id=@p1下面又出现一行为@p1="";这个值为我传递进来的参数值,所有的一切都是对的.却在
public ejb.Student findByPrimaryKey(java.lang.String arg0)
throws javax.ejb.FinderException
{
try {
return (ejb.Student)
super.findByPrimaryKey(md_ejbFindByPrimaryKey_S, arg0 );
} catch (java.lang.Exception e) {
if (e instanceof javax.ejb.EJBException) {
throw (javax.ejb.EJBException)e;
}
else if (e instanceof javax.ejb.FinderException) {
throw (javax.ejb.FinderException) e;//抛出异常所在
}
else {
throw new javax.ejb.FinderException ("Error while finding bean: " +
e.toString());
}
}
}
中抛出javax.ejb.FinderException的异常!各位看看究竟是什么原因??
findByPrimaryKey这个方法是home的方法,不是ejb对象的方法。你在使用super保留字调用的时候好像应该用ejbFindByPrimaryKey。另外,你的md_ejbFindByPrimaryKey_S是什么参数?抛出的异常究竟是那一个FinderException,系统抛出的还是你自己创建的?
另外,如果不是方法名的问题,首先把参数打印出来看看,保证没有错误,其次请仔细检查ejbFindByPrimaryKey,一定是主键什么地方有问题。说实话我看不出什么特别大的逻辑错误会导致该异常。