EJB-Persistenz mit Java SE
ZDNet.de hat einen guten Artikel über die Grundlagen der Persistierung von Daten in Java SE mittels EJB 3.0 veröffentlicht.
Seit dem Entwurf von EJB 3.0 gibt es einen einzigen, standardisierten Persistenzmechanismus für Java-Klassen, sei es für client- oder serverseitige Anwendungen. Mithilfe von Annotations, einem Feature von Java 5, ist dieser Mechanismus einfach zu benutzen. Wie das funktioniert, soll hier gezeigt werden.
Grundlagen
Gezeigt wird dies am Beispiels eines einfachen Address-Objekts, das als POJO (Plain Old Java Object) implementiert ist. Um aus einer Klasse eine EJB 3.0-Entity zu gestalten, die persistent gemacht werden kann, fügt man am Anfang der Klasse die Annotation @Entity hinzu, um sie als persistierbar zu markieren.
Der EntityManager
Um das Address-Objekt persistent zu machen, ist ein EntityManager nötig, welchen man für jede Aufgabe erhält, die mit den persistenten Daten durchgeführt werden soll. Dies ist der große Unterschied zwischen Persistenz unter Java EE und Java SE. In Java EE gibt es Annotations, welche es dem umgebenden Framework ermöglichen, die Entities zu verwalten.
Die EntityManagerFactory
In Java SE wird die Verantwortung hierfür dem Entwickler überlassen, der sich um einen EntityManager kümmern muss. Einen EntityManager erhält man durch den Aufruf einer EntityManagerFactory. Bleibt noch offen, wo wir diese Factory herbekommen. Hierfür fordern wir einfach die Persistenz-Schicht auf, eine Factory zu erstellen. Die hierzu verwendeten Konfigurationsinformationen stammen aus einer Datei namens persistence.xml, welche im Verzeichnis META-INF des Source-Baumes gespeichert sein sollte.
Im Hintergrund sorgt Hibernate für die Persistierung der Objekte.
Das wären also die ersten Schritte und Grundlagen der Persistenz mit EJB 3.0.
Der komplette Artikel:
EJB-Persistenz mit Java SE
Weiterführende Infos findet Ihr hier:
Hibernate
Hibernate Annotations
Hibernate EntityManager
Hibernate Tools for Eclipse and Ant