Sto imparando GAE e sto diventando un po 'bloccato. Se uso il seguente, con un fine per assicurarsi che il gestore di persistenza è chiuso, ottengo un'eccezione quando si cerca di leggere in realtà gli oggetti Nota:Come rendere i risultati delle query disponibili dopo aver chiuso il gestore di persistenza
public class Notes {
public List<Note> getAll() {
PersistenceManager pm = PMF.instance().getPersistenceManager();
try {
Query query = pm.newQuery("select from com.uptecs.google1.model.Note order by subject");
return (List<Note>) query.execute();
} finally {
pm.close();
}
}
}
L'eccezione che ottengo è questo:
Object Manager has been closed
org.datanucleus.exceptions.NucleusUserException: Object Manager has been closed
at org.datanucleus.ObjectManagerImpl.assertIsOpen(ObjectManagerImpl.java:3876)
at org.datanucleus.ObjectManagerImpl.getFetchPlan(ObjectManagerImpl.java:376)
at org.datanucleus.store.query.Query.getFetchPlan(Query.java:497)
Capisco questa parte, il bit che non capisco è che è una lista. Dovrei ripetere l'intera lista e staccare ogni elemento? – Jacob
Sì, è così che ci sono andato. Non riuscivo a staccare una lista, quando provo a farlo ottengo un 'org.datanucleus.jdo.exceptions.ClassNotPersistenceCapableException': La classe" La classe "org.datanucleus.store.appengine.query.StreamingQueryResult" non è persistibile. Sembra che questo sia ciò che deve essere fatto se si desidera che i singoli elementi vengano staccato e chiuso il PM. – bakkal
Devo commentare. Grazie mille! Stavo impazzendo !!! –