我正面临一个非常小的问题,这让我很生气。
我从名为SlBrowseProducts的无状态会话bean调用业务方法'public List getPsubcategoryList()'。此方法使用entitymanager实例从数据库表中检索映射到名为Psubcategory的实体类的对象列表。我使用了一个namedQuery。返回的列表包含Object类型的元素,我必须附加一个名为myIterator的迭代器来列出并将myIterator.next()的每一个转换为类型Psubcategory以使结果元素有用并在其上运行任何getter。但是这个转换返回了以下错误..
SEVERE:java.lang.ClassCastException:entitybeans.Psubcategory无法强制转换为entitybeans.Psubcategory
我试着广泛搜索它以找到它的原因..我遇到了一个叫做“ClassLoader Hell”的东西,这可能会导致它......
这个问题有没有解决办法?有没有其他方法围绕这...我已经尝试不使用Iterator而是使用for循环...但即便如此我必须施放..这再次让我遇到同样的问题..
请按时完成帮助。
==================== JSP PAGE ==================
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;
}
}
答案 0 :(得分:0)
@Stateless
@LocalBean
public class SLBrowseProducts implements TestInterface {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("INNOVATIVE-INDOORSPU");
EntityManager em = emf.createEntityManager();
@Override
public List<Psubcategory> getProductSubcategories(){
List<Psubcategory> subcategoryList=
em.createNamedQuery("Psubcategory.findAll").getResultList();
return subcategoryList;
}
}
============================================================================================
List<Psubcategory> subcategoryList1 = slbp.getProductSubcategories();
for(Psubcategory temp : subcategoryList1){
System.out.print(temp.getSubcategory());
}