私の現在のコード:
TypedQuery<Account> tp = em.createQuery("SELECT a FROM Account a INNER JOIN User u ON u.account_id = a.id WHERE a.email = :email AND a.pwd = :pwd AND a.role = 'admin'", Account.class);
tp.setParameter("email", this.username);
tp.setParameter("pwd", this.password);
Account result = tp.getSingleResult();
しかし、java.lang.IllegalArgumentException が発生します。
必要なのは、ユーザー テーブルに列を表示することです。
似String name = Account.getName();
ていますが、Account エンティティには getName() がありません User エンティティだけが持っています。
*アップデート
これがエラーです
java.lang.IllegalArgumentException: EntityManager でクエリを作成中に例外が発生しました: 例外の説明: クエリを解析する構文エラー [SELECT a FROM Account a INNER JOIN User u ON u.account_id = a.id WHERE a.email = :email AND a.pwd = :pwd AND a.role = 'admin']。内部例外: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException