|
#summery crud persistancy operations for datastore with JPA InhaltCRUD OperationenTutorial zu JPA on GAE gibt es hier: http://code.google.com/intl/de/appengine/docs/java/datastore/jpa/overview.html Instanz speichernimport javax.persistence.EntityManager;
import guestbook.persistancy.EMF;
...
// Get instance from somewhere
GuestbookEntry guestbookEntry = new GuestbookEntry("Klaus","BlaBla",new Date());
// Create entity manager to process datastore requests
EntityManager em = EMF.get().createEntityManager();
try {
em.persist(questbookEntry);
} finally {
em.close();
}
...Alle Instanzen auslesenEs gibt einen Oper Fehler, den man mit diesem workaround umgehen kann: http://www.atentia.net/2010/03/app-engine-and-jdo-object-manager-has-been-closed/ import javax.persistence.EntityManager;
import guestbook.persistancy.EMF;
...
// Create empty list to store guestbook entries to
List<GuestbookEntry> entries = new ArrayList<GuestbookEntry>();
// Create entity manager to process datastore requests
EntityManager em = EMF.get().createEntityManager();
try {
// Retrieve list of entries from datastore
entries = (List<GuestbookEntry>) em.createQuery("SELECT FROM "+GuestbookEntry.class.getName()).getResultList();
// Workaround to avoid lazy loading
entries.size();
} finally {
em.close();
}
...Instanz löschenimport javax.persistence.EntityManager;
import guestbook.persistancy.EMF;
...
// Get instance from somewhere
GuestbookEntry guestbookEntry = new GuestbookEntry("Klaus","BlaBla",new Date());
// Create entity manager to process datastore requests
EntityManager em = EMF.get().createEntityManager();
try {
em.remove(questbookEntry);
} finally {
em.close();
}
...Alle Instanzen einer Klasse löschenQuelle: http://www.objectdb.com/java/jpa/query/jpql/delete#Delete_All_Queries_ import javax.persistence.EntityManager;
import guestbook.persistancy.EMF;
...
// Create entity manager to process datastore requests
EntityManager em = EMF.get().createEntityManager();
try {
em.createQuery("DELETE FROM GuestbookEntry").executeUpdate();
} finally {
em.close();
}
...
|