# ClassCastException Hibernate Criteria



## c_sidi90 (19. Okt 2011)

Ich steh auf dem Schlauch und kann jetzt auch nicht weiter draufschauen darum meine Frage an euch:

Wieso wirft er mir hier eine ClassCastException in der line: 

```
List <Benutzer> list = criteria.list();
```


obwohl ich es genauso schon erfolgreich gemacht hatte? Hab das gefühl meine IDE spinnt bisschen bei den Imports aber naja..

Source


```
public boolean loggin(String username, String password)	throws RemoteException {
		
		try{
		
			session = sf.openSession();
			transaction = session.beginTransaction();
			
            Criteria criteria = session.createCriteria(Benutzer.class);
            List <Benutzer> list = criteria.list();
	        
	        for(int i=0; i<list.size();i++){
	        	
	        	Benutzer b = (Benutzer)list.get(i);
	        	
	        	if(b.getName().equalsIgnoreCase(username) && b.getPasswort().equals(password)){
	    	
	        		transaction.commit();
	        		return true;
        	}
	        	return false;
	        }	
		}catch(HibernateException e){
			transaction.rollback();
		}
		
		return false;
	}
```


----------



## SlaterB (19. Okt 2011)

bist du dir sicher mit deiner Interpretation? tatsächlich nicht so richtig zu verstehen,
gibt es einen exakten StackTrace zur Fehlermeldung, ist die Zeilennummer eindeutig, sind weitere innere Aufrufe in Criteria betroffen?
bezieht sich der Fehler auch nicht auf alten Code?

schaue genauer nach:
Object o = criteria.list();
gibt es soweit schon eine Exception?
gib o aus, ist es null, welcher Klasse gehört o an?

wenn dann auf List gecastet wird kommt die Exception?


bzw. .list() wird ja auch eine Liste zurückgeben, da besteht ja gar kein Cast..,
was ist denn genau der Fehler mit StackTrace?


----------



## c_sidi90 (19. Okt 2011)

Ok, ich habe den Rechner neugestartet, nun bekomme ich auch keine ClassCastException mehr, denk mal da ist irgendwas schief gelaufen 

Ich kann das Programm jetzt ohne Exception ausführen, jedoch wundert mich doch, das die list.size() == 0 ist, obwohl die DB 8 Einträge von Benutzer.class verzeichnet.


----------



## c_sidi90 (19. Okt 2011)

O gott, Feierabend! Schön doof wenn man vergisst, die Klasse in der Configuration mit aufzunehmen lach


----------

