我在 glassfish 上有一个 Web 应用程序,其中包括一些使用 JPA 构建的数据库调用。但是,每当我重新部署 Web 应用程序时,当我尝试检索项目时,都会收到 ClassCastException com.item.DBItem cannot be cast to com.item.DBItem。
public DBItem findActiveItemId(String itemid){
EntityManager em = getEntityManager();
try{
Query q = em.createQuery("SELECT c from DBItems c WHERE c.itemId = :cid AND c.active = 1");
q.setParameter("cid", itemid);
return (DBItem)q.getSingleResult();
}catch(javax.persistence.NoResultException nre){
return null;
}finally{
em.close();
}
}
重新启动 glassfish 始终可以解决问题,但为什么会发生这种情况呢?