0

私は以下の方法を持っています:

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(); 
}

エンティティ マネージャーを閉じる必要がありますか? または、私が見逃した概念はありますか?

4

1 に答える 1

0

もう 1 つの「概念」は、GAE JPA プラグインの v2 を使用することです。今となってはかなり前に発売されたものです。

于 2012-06-29T06:17:44.533 に答える