2017-03-23 5 views
0

パスワードを変更するフォームでは、古いパスワードと新しいパスワードを一致させる必要があります。HQLの結果(リスト)をSpringMVCとHibernateの文字列変数に格納するには?

私はユーザー名ごとにデータベースからパスワードを取得し、このパスワードを新しいパスワードと比較するString変数に格納したいと考えています。これを比較する方法はありますか?

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

結果は、私は文字列変数にこのクエリの結果を保存したい?これを解決する方法java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String

のようなものです。

答えて

0

クエリがテーブルからパスワードを選択する場合。そして、Hibernateは、パスワードのインデックスが

0だからUが

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

はそれが役に立てば幸いと言うことができなければなりませんリストを返すする必要があります。気をつけてください。 @S dg –

+0

それぞれのループで何をしているのか理解できません。あなたを助けてください。@ Kashish Verma –

+0

クエリがSelect password、table from usernameです。 Hibernateはリストを返します data = que.list(); data.get(0) - >パスワードのArrayListを返す必要があり、data.get(1)はユーザー名をALとして返す必要があります。したがってforループでは、リストオブジェクトを文字列に変換してパスワードarraylistに追加するだけです。 –

関連する問題