Ich habe eine Klasse namens Benutzer, die 2 Eigenschaften hat: Login/Passwort. Ich versuche, einen Benutzer in meiner Anwendung mit Hibernate-Kriterien zu authentifizieren, aber meine Anfrage funktioniert nicht.Noob Frage über Ruhezustand Kriterien
[EDIT] Der zurückgegebene Wert ist NULL. Ich habe zwei Benutzer in meiner Datenbank zum Testen.
Hier ist mein Code:
@Override
public User authenticate(String login, String password)
throws NullPointerException {
Session session = this.getSession();
User user = (User) session
.createCriteria(User.class)
.add(
Restrictions.and(
Property.forName("login").eq(login),
Property.forName("password").eq(password)
)).uniqueResult();
if (user == null){
throw new NullPointerException("User not found");
}
return user;
}
Kann mir jemand sagt, was mit meinem Code falsch?
Frohes neues Jahr 2011 !!
Was bekommen Sie zurück/was passiert, wenn Sie den Code ausführen? – crnlx
Nun, ich sehe nichts syntaktisch falsch in dem Code, den Sie uns gezeigt haben. Funktioniert es, wenn Sie die Passwortbedingung entfernen? (d. h. Suche nur nach 'Login'). – Alastair
Ja, ich habe versucht, nur nach Login zu suchen, aber der zurückgegebene Benutzer ist immer Null. Ich verstehe nicht, was das Problem ist. Meine Zuordnung ist sehr einfach: 2 Eigenschaften (Login/Passwort mit Getter und Setter). – Dimitri