Hibernate - Traversierung createSQLQuery Ergebnisse und das Lesen in entsprechenden Objekt
Ich bin ziemlich neu bei Hibernate /Java (JSF 2.0) und ich bin versucht, rufen Sie eine benutzerdefinierte Abfrage, und Lesen Sie die Ergebnisse in ein Objekt, das ich erstellt habe-Anmeldungen. Anmeldungen hat zwei setter-Funktionen, setLoginDate(Datum) und setUserId(userId Integer) meine Funktion sieht so aus, Das Problem ich habe, ist, wie transformieren Sie das Ergebnis einstellen und ablesen der entsprechenden Werte in eine temp loginList
public List<Logins> getUserLogins() {
Session session = getSessionFactory().openSession();
List<Logins> loginList = null;
Login temp = null;
try {
String SQL_QUERY = "SELECT login_date, user_id FROM user_logins";
Query query = session.createSQLQuery(SQL_QUERY);
List results = query.list();
for(ListIterator iter = results.listIterator(); iter.hasNext(); ) {
** THIS IS THE PART I AM NOT CLEAR ON ***
temp.setLoginDate(resutls.get(0));
temp.setUserId(results.get(1));
loginList.add(temp);
temp = null;
*****************************************
return loginList;
}
} catch(HibernateException e) {
throw new PersistanceDaoException(e);
} finally {
session.close();
}
}
InformationsquelleAutor IamBanksy | 2010-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
fehlende Teil:
müssen Sie möglicherweise cast
row[i]
Ihrem Zielobjekt, zum Beispiel, wenn login-Datum ist ein Datum-Objekt:temp.setLoginDate((Date) row[0]);
InformationsquelleAutor mhshams
für eine bessere Lösung, versuchen Sie es mit
ResultTransformer
finden Sie mehr über ResultTransformer in der Hibernate-Dokumentation.
InformationsquelleAutor mhshams