以下代码曾经使用过一次:
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。