My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
JPA_CRUD  

GAE, JPA, Datastore
Updated Dec 19, 2011 by Knud.Mikkat

#summery crud persistancy operations for datastore with JPA

Inhalt

CRUD Operationen

Tutorial zu JPA on GAE gibt es hier: http://code.google.com/intl/de/appengine/docs/java/datastore/jpa/overview.html

Instanz speichern

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

Zum Seitenanfang

Alle Instanzen auslesen

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

Zum Seitenanfang

Instanz löschen

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

Zum Seitenanfang

Alle Instanzen einer Klasse löschen

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

Zum Seitenanfang

Powered by Google Project Hosting