java.lang.ClassCastException:x无法强制转换为x

时间:2018-01-05 11:17:36

标签: java jpa entity classcastexception

以下代码曾经使用过一次:

private Map<Integer, Parkhaus> getCarparksDC() {
    System.out.println("DatabaseConnection.getCarparksDC() start.");
    List<DbParkhaus> locationDbParkhausList;

    locationDbParkhausList = this.dbParkhausEjb.getAll();

    Map<Integer, Parkhaus> returnValue = new HashMap<Integer, Parkhaus>();
    for (DbParkhaus carpark : locationDbParkhausList) {
        Parkhaus toPut = new Parkhaus();

        toPut.setId(carpark.getIdparkhaus());
        toPut.setLocation(new LatLng(carpark.getLatitude(), carpark.getLongitude()));
        toPut.setName(carpark.getName());

        returnValue.put(toPut.getId(), toPut);
    }
    System.out.println("DatabaseConnection.getCarparksDC() end.");
    return returnValue;
}

但如果我现在尝试运行它,我会得到以下例外:

java.lang.ClassCastException: reichling.parkhausserver.entity.DbParkhaus cannot be cast to reichling.parkhausserver.entity.DbParkhaus

我在代码中唯一改变的是另一个方法中的System.out.println,稍后会调用它。

任何想法如何解决?

//DbParkhausEjb.getAll()

public List<DbParkhaus> getAll(){
    List<DbParkhaus> results;
    if(em == null){
        System.out.println("Entitymanager not initialized.");
    }
    results = em.createNamedQuery("DbParkhaus.findAll")
            .getResultList();
    return results;
}

编辑: 重新启动服务器后,代码再次工作,直到我再次更改了一些内容。似乎重新部署存在问题。我正在使用netbeans和glassfish。

0 个答案:

没有答案