Estoy aprendiendo GAE y estoy un poco atascado. Si utilizo el siguiente, con un fin de asegurarse de que el gestor de persistencia está cerrado, me sale una excepción cuando se trata de leer realmente los nota objetos:¿Cómo se hacen disponibles los resultados de consulta después de cerrar el administrador de persistencia?
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();
}
}
}
La excepción que se ve es la siguiente:
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)
Entiendo esta parte, la parte que no entiendo es que es una lista. ¿Se supone que debo recorrer toda la lista y separar cada elemento? – Jacob
Sí, así fue como lo hice. No pude conseguir que separe una lista, cuando trato de hacerlo obtengo una 'org.datanucleus.jdo.excepciones.ClassNotPersistenceCapableException': La clase" La clase "org.datanucleus.store.appengine.query.StreamingQueryResult" no es persistente. Parece que esto es lo que se debe hacer si desea separar los elementos individuales y cerrar el MP. – bakkal
Tengo que comentar ¡Muchas gracias! ¡Estaba enloqueciendo! –