Pessoal to com um problema muito doido aqui!
Quando tento acessar uma entidade do banco de dados estou me deparando com o seguinte erro:java.lang.ClassCastException: com.geotech.diengine.entities.IndicatorEntity cannot be cast to com.geotech.diengine.entities.IndicatorEntityEsse erro só começa a acontecer quando eu escrevo algo novo no banco, antes disso funciona normalmente. Coloquei inclusive um if para testar se o objeto realmente não pertence à classe indicada, e pelo debugador do netbeans eu vi que a classe é a classe correta mas mesmo assim não passa pelo if!
@WebMethod(operationName = "getDrillDimensions")
public ArrayList<String> getDrillDimensions(@WebParam(name = "indicatorName") String indicatorName) {
ArrayList<String> drillDimensions = new ArrayList<String>();
try {
Object object = manager.createNamedQuery("IndicatorEntity.findByNome").setParameter("nome", indicatorName).getSingleResult();
IndicatorEntity indicator=null;
if(object instanceof IndicatorEntity)
indicator=(IndicatorEntity) object;
Vector<DimensionAxisEntity> dimensionAxisList = (Vector<DimensionAxisEntity>) indicator.getDimensionAxisEntityCollection();
for (DimensionAxisEntity dimensionAxis : dimensionAxisList) {
if (dimensionAxis.getEixo() == indicator.getEixoDrill()) {
drillDimensions.add(dimensionAxis.getDimensionEntity().getNome());
}
}
} catch (Exception ex) {
Logger.getLogger(IndicatorProperties.class.getName()).log(Level.SEVERE, null, ex);
}
return drillDimensions;
}
Alguém pelo amor de Deus sabe pq isto está acontecendo??
Obs: estou usando o Toplink junto com o glassfish v2