Я столкнулся с очень маленькой проблемой, которая сводит меня с ума.
Я вызываю бизнес-метод «public List getPsubcategoryList()» из сеансового компонента без сохранения состояния с именем SlBrowseProducts. Этот метод использовал экземпляр entitymanager для извлечения списка объектов из таблицы базы данных, сопоставленного с классом Entity с именем Psubcategory. это я сделал, используя namedQuery. Возвращаемый список содержит элементы типа Object, я должен присоединить итератор с именем myIterator к списку и привести каждый из myIterator.next() к типу Psubcategory, чтобы сделать результирующий элемент полезным и запустить на нем любые геттеры. Однако это приведение вернуло следующую ошибку.
СЕРЬЕЗНОЕ: java.lang.ClassCastException: entitybeans.Psubcategory нельзя преобразовать в entitybeans.Psubcategory
Я много пытался поискать в Google, чтобы найти причину этого... и я наткнулся на что-то под названием "Ад загрузчика классов", что может быть причиной этого...
Есть ли решение этой проблемы. Есть ли какой-нибудь другой способ обойти это... Я пытался не использовать итератор, а вместо этого использовать цикл 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;
}
}
Psubcategory.findAll
? Почему нельзя использоватьcreateNamedquery(name, resultClass)
? Вы возвращаете список@Entity
классов? Почему вы не используете внедрение зависимостей и не используете Persistence? - person Piotr Nowicki   schedule 26.01.2012