0
私のアプリケーションでは、次のような問題があります。 (ウェブ上ここでインスピレーション)スレッド「AWT-EventQueue-0」の例外java.lang.IllegalStateException:閉じられたEntityManagerで操作を実行しようとしました
public boolean login(String username, String password)
{
try{
EntityTransaction entr=em.getTransaction();
entr.begin();
TypedQuery<Users> query = em.createQuery("SELECT u FROM Users u WHERE u.login = :login AND u.password = :pass", Users.class);
query.setParameter("login", username);
query.setParameter("pass", password);
try{
Users u = query.getSingleResult();
em.getTransaction().commit();
return true;
}catch(javax.persistence.NoResultException e)
{
return false;
}
}
finally{
em.close();
}
}
私はそれを実行してログインしようとすると、コンソールに次のメッセージが書き込まれます:私は、次のコードしている
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.
をあなたは私を助けることができますか?私はそれが何であるか分かりません...
さて、最終的に何を書かなければならないのですか?私は最終的にtry-catchをすることはできません。それはどこにあるべきですか? – Aaka
最後にtry-cachを実行することはできますが、コードではEntityTransactionはまったく必要ありません。なぜなら、読んでいるだけなので –