私は以下の方法を持っています:
public List<Profile> listProfiles(){
EntityManager em = EMF.get().createEntityManager();
List<Profile> list = null;
try{
Query q = em.createQuery("SELECT p FROM Profile p");
list = (List<Profile>)q.getResultList();
} catch(NoResultException ex){
System.out.println("ERROR CATCHED: " + ex.getMessage());
} finally{
em.close();
}
return list;
}
戻りリストにアクセスすると、エラーがスローされます。
org.datanucleus.exceptions.NucleusUserException: Object Manager has been closed
私が見つけた 1 つのトリックは、エンティティ マネージャーを閉じる前に list.size() を追加することです。
finally{
list.size();
em.close();
}
エンティティ マネージャーを閉じる必要がありますか? または、私が見逃した概念はありますか?