我面对它快把我逼疯了一个非常小的问题..意外ClassCastException异常...使用EJB
我打电话从一个无状态会话Bean名为SlBrowseProducts的商业方法“公开名单getPsubcategoryList()”。这方法使用entitymanager实例从数据库表中检索对象列表,并将其映射到名为Psubcategory的实体类。这我没有使用namedQuery。返回的列表包含Object类型的元素,我必须附加一个名为myIterator的迭代器来列出并将myIterator.next()的每个元素转换为Psubcategory类型,以使结果元素有用,并在其上运行任何getter。然而,这铸造返回以下错误..
重度:java.lang.ClassCastException:entitybeans.Psubcategory不能转换到entitybeans.Psubcategory
我试着用搜索引擎广泛找到原因吧..到我遇到了一个叫做'ClassLoader Hell'的东西,可能会导致它..
有没有解决这个问题的方法。有没有其他解决方法...我曾尝试不使用迭代器,而是使用for循环...但即使如此,我必须投..再次让我陷入同样的问题..
请帮助m按计划紧张。
==================== JSP页面==================
List<Psubcategory> subcategoryList1 = slbp.getProductSubcategories();
if(subcategoryList1.size()!=0){
for(int i=0;i<subcategoryList1.size();i++){
Psubcategory temp = subcategoryList1.get(i);
System.out.print(temp.getSubcategory());
}
}
====================== SLBrowseProducts.java ======================
@Stateless
@LocalBean
public class SLBrowseProducts implements TestInterface {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("INNOVATIVE-INDOORSPU");
EntityManager em = emf.createEntityManager();
@Override
public List getProductSubcategories(){
List subcategoryList=em.createNamedQuery("Psubcategory.findAll").getResultList();
return subcategoryList;
}
}
你的查询是如何指定的'Psubcategory.findAll'?为什么不能使用'createNamedquery(name,resultClass)'?你是否返回'@ Entity'类的列表?为什么不使用依赖注入并使用持久性? –