2017-03-23 3 views
0

Für Passwort ändern Formular, müssen alte Passwort mit neuen Passwort übereinstimmen.Wie speichert man das HQL-Ergebnis (Liste) in einer String-Variable in SpringMVC & Hibernate?

Ich möchte Passwort aus Datenbank abgerufen werden, wie pro Benutzernamen und speichern dieses Kennwort in eine String-Variable mit neuen password.Or zu vergleichen Gibt es eine Methode im Frühjahr dieses zu vergleichen?

String password = ""; 
Query que = session.getCurrentSession().createQuery(selectpassword); 
    List <String>list = que.list(); 
    for (String srt : list) { 
     password += srt; 
    } 
    System.out.println("Password ->" +list); 

Ergebnis ist wie java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String

Wie dieses Problem zu lösen? Ich diese Abfrage-Ergebnis in String Variable speichern möchte.

Antwort

0

Wenn Ihre Abfrage Passwort aus der Tabelle auswählen. Dann muss Hibernate Liste zurückkehren, wo Passwort Index 0.

So muss U

sagen kann
List <Object>list = que.list(); 
ArrayList passwordList = (ArrayList)list.get(0) 

List<String> passwords = new ArrayList<String>(); 

for(ArrayList list :passwordList){ 
    passwords.add(list.toString()); 
} 
+0

Hoffe, es hilft. Fühlen Sie sich frei, Zweifel zu stellen. @S dg –

+0

Kann nicht verstehen, was für jeden in getan hatte loop.Will Sie mir helfen @ Kashish Verma –

+0

Also, wenn Sie Ihre Abfrage Wählen Sie das Kennwort, den Benutzernamen aus der Tabelle. Hibernate gibt die Liste zurück data = que.list(); where data.get (0) -> Sollte ArrayList von Passwörtern zurückgeben und data.get (1) sollte Benutzernamen als AL zurückgeben. Also in for-Schleife ich nehme gerade List-Objekt konvertieren es in Zeichenfolge und fügt es zu den Passwörtern arraylist. –

Verwandte Themen