entityManager.createQuery
を使用して必要な情報を取得するために3つのテーブルを結合しようとしています。JPA EntityManagerからカスタマイズされたbeanとして返されたオブジェクトを取得する方法
コードlittlepetは、次のように:
List<Object[]> o=entityManager.createQuery("SELECT u.loginId,ui.emailId,u.userId,ui.firstName,up.password,ui.phoneNunber,u.roleTypeId" + " From Users as u,UserInfo ui, UserPassword as up where u.userId = up.userId " + "AND u.userId=ui.userId").getResultList();
私は上記の返されたフィールドUserDetails
と豆を持っています。
public class UserDetails
{
String LoginId;
String Email;
String UserId;
String FirstName;
String Password;
String Mobile;
String RoleTypeId;
int Status;
getters() & setters()
}
しかし、私は代わりにObject[]
のList
をUserDetails
のList
を使用しようとしています、それはClassCastException
を言います。
返されたオブジェクトをカスタマイズされたbeanで取得/変換する方法は?
あなたは、このように UserDetails(ログインID、EMAILID、userIdを、firstNameという、パスワード、phoneNunber、roleTypeId)、フィールドがクエリで選択されているのと同じ順序でパラメータを持つコンストラクタを持っている必要があり
うーんI答えは分かりませんが、結合を使用する方がよいでしょうか? – niceman