Ich habe Klasse Login, die userId
, username
und password
hat.Abfrage im Ruhezustand mit Where-Klausel
Für einen Benutzer, der mich anmeldet, überprüfe ich username
und password
und geting userId
. Wenn userId
nicht Null ist, wird es zur Startseite führen. Ich versuche dies im Winterschlaf zu machen. Aber meine Abfrage funktioniert nicht
public int userLogin(Login login)
throws MySQLIntegrityConstraintViolationException, SQLException,
Exception {
Session session = HibernateUtil.getSessionFactory().openSession();
int userId = 0;
try {
session.beginTransaction();
String hql = "Select log.userId from Login log where log.userName=:userName
and log.password=:password";
System.out.println(hql);
Query query = session.createQuery(hql);
query.setParameter(":userName", login.getUserName());
query.setParameter(":password", login.getPassword());
List result = query.list();
System.out.println("resultset:"+result);
Iterator iterator = result.iterator();
while(iterator.hasNext()){
userId = (int) iterator.next();
}
} catch (HibernateException e) {
if (session.getTransaction() != null) {
session.getTransaction().rollback();
}
} finally {
session.close();
}
@AbhikChakraborty, Keine Notwendigkeit von ":" :) –
Erhalten Sie irgendwelche Ausnahmen? Oder nur eine leere Ergebnisliste? Bitte posten Sie weitere Details zu _ "meine Anfrage funktioniert nicht" _. – icza
Also, welchen Fehler haben Sie vor? jede Ausnahme .. – RE350