当前位置: 技术问答>java相关
请教一个有个EJB中自定义find的方法
来源: 互联网 发布时间:2015-09-08
本文导语: 我在BMP中的Bean中实现了一个方法: public Collection ejbFindAll () throws FinderException{ Connection con = null; PreparedStatement ps = null; try{ String sqlStmt = "SELECT customer_id,customer_name,address,zip,create_date from Customer...
我在BMP中的Bean中实现了一个方法:
public Collection ejbFindAll () throws FinderException{
Connection con = null;
PreparedStatement ps = null;
try{
String sqlStmt = "SELECT customer_id,customer_name,address,zip,create_date from Customer " ;
con = ds.getConnection();
ps = con.prepareStatement (sqlStmt) ;
ResultSet rs = ps.executeQuery();
ArrayList list = new ArrayList();
while (rs.next()){
ArrayList item = new ArrayList();
item.add(new Integer(rs.getInt(1)));
item.add(rs.getString(2));
item.add(rs.getString(3));
item.add(rs.getString(4));
item.add(rs.getDate(5));
Collection c_item = item ;
list.add(c_item);
}
rs.close();
return list ;
}catch(Exception err){
throw new EJBException (err);
}finally{
cleanup(con, ps);
}
在client端的jsp程序中进行如下调用:
Ñ¡Ôñ
¿Í»§ÐÕÃû
¿Í»§µØÖ·
ÓÊÕþ±àÂë
Éú³ÉÈÕÆÚ
结果在runtime抛出java.lang.ClassCastException的错误!
请教如何解决?
在EJB 的BMP中因该如何处理想要查询所有记录的方法?
public Collection ejbFindAll () throws FinderException{
Connection con = null;
PreparedStatement ps = null;
try{
String sqlStmt = "SELECT customer_id,customer_name,address,zip,create_date from Customer " ;
con = ds.getConnection();
ps = con.prepareStatement (sqlStmt) ;
ResultSet rs = ps.executeQuery();
ArrayList list = new ArrayList();
while (rs.next()){
ArrayList item = new ArrayList();
item.add(new Integer(rs.getInt(1)));
item.add(rs.getString(2));
item.add(rs.getString(3));
item.add(rs.getString(4));
item.add(rs.getDate(5));
Collection c_item = item ;
list.add(c_item);
}
rs.close();
return list ;
}catch(Exception err){
throw new EJBException (err);
}finally{
cleanup(con, ps);
}
在client端的jsp程序中进行如下调用:
Ñ¡Ôñ
¿Í»§ÐÕÃû
¿Í»§µØÖ·
ÓÊÕþ±àÂë
Éú³ÉÈÕÆÚ
结果在runtime抛出java.lang.ClassCastException的错误!
请教如何解决?
在EJB 的BMP中因该如何处理想要查询所有记录的方法?
|
应该是这里的异常,PortableRemoteObject.narrow(objRefCustomerSessionBean,CustomerSessionHome.class);
java.lang.ClassCastException异常就是说,类型无法转换异常。
java.lang.ClassCastException异常就是说,类型无法转换异常。
|
不是这句话,是list = customerarray.get(i);
引起的异常
引起的异常
|
ejbFind方法返回的Collection只是主键的collection,而不是数据集的collection。
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]