Mise en veille prolongée - résultats Traversant createSQLQuery et la lecture en objet approprié

voix
2

Je suis assez nouveau pour Hibernate / Java (JSF 2.0) et je tente d'appeler une requête personnalisée et lire les résultats dans un objet que j'ai créé Logins. Logins a deux fonctions setter, setLoginDate (date de date) et SetUserID (entier userId) ma fonction ressemble donc, la question que j'ai est de savoir comment transformer le jeu de résultats et de lire les valeurs appropriées dans une température 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();
     }

}
Créé 17/08/2010 à 17:16
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
7

partie manquante:

      Object[] row = (Object[]) iter.next();
      temp = new Login();
      temp.setLoginDate(row[0]);
      temp.setUserId(row[1]);

vous devrez peut - être jeter row[i]à votre objet cible par exemple si la date connexion est un objet Date:temp.setLoginDate((Date) row[0]);

Créé 17/08/2010 à 17:30
source utilisateur

voix
1

pour une meilleure solution, essayez d'utiliser , ResultTransformer vous pouvez trouver plus sur ResultTransformer dans Hibernate Docs.

Créé 17/08/2010 à 17:33
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more