Im Zuge der noch druckfrischen Java Enterprise Edition 6 hat auch der Persistenz-Standard JPA wesentliche Ergänzungen erfahren. Die erste Spezifikation des Java Persistence APIs wurde im Mai 2006 fertiggestellt und liegt damit mehr als drei Jahre zurück. Die Einfachheit des Programmiermodells und die Ausdrucksstärke der Abfragesprache haben diese Mapping-Technologie seither zum Erfolg geführt. In manchen Projekten war allerdings festzustellen, dass einige Features nur unter Umgehung des Standards zu erzielen waren. Zweifel an einer einfachen Austauschbarkeit der Mapper-Implementierung entstanden. Die zweite Version des Java Persistence API kann diese Bedenken weitgehend zerstreuen…
Lesen Sie den vollständigen Artikel hier:
DatabasePro, Ausgabe 6/2009, S. 68 - 72
Software verändert sich, und mit ihr verändern sich die benötigten Datenstrukturen. Komplexe SQL-Skripte sind meist die Folge. Alternativ dazu existiert ein einfach zu erlernendes, aber mächtiges Werkzeug: Liquibase
“Nichts ist so beständig wie der Wandel“. Dieses oftbenutzte Zitat trifft insbesondere auch auf den Lebenszyklus von Software zu. Es ist nahezu unmöglich, eine Anwendung vollständig auf dem Reißbrett zu entwerfen, sie exakt in der geplanten Form umzusetzen und anschließend nicht mehr verändern zu müssen. Neue ebenso wie sich verändernde Anforderungen erzwingen zu verschiedenen Zeitpunkten im Entwicklungsprozess entweder Ergänzungen oder Änderungen, denen praktisch jeder Teil des Systems unterliegt. Der Begriff “Refactoring” hat mittlerweile einen festen Platz im Vokabular der Softwareentwickler gefunden und wird durch Entwicklungsumgebungen für gängige Programmiersprachen sehr gut unterstützt.
Während diese Aussage ohne Einschränkung auf die Programmiersprache Java und ihre Werkzeuge (zum Beispiel Eclipse) angewendet werden kann, klafft ausgerechnet in deren näherem Umfeld eine Lücke: Wie werden Änderungen im Domänenmodell auf Schemas relationaler Datenbanken übertragen, ohne bestehende Strukturen und bereits vorhandene Daten zu zerstören? …
Lesen Sie den vollständigen Artikel hier:
DatabasePro, Ausgabe 2/2009, S. 92 - 96
Die Java Persistence API Spezifikation zerfällt für den Anwender in drei große Bereiche: Die Mapping-Spezifikation für die Abbildung von Klassen auf Tabellen, das API für den Umgang mit persistenten Objekten und eine Abfragesprache zum zielgerichteten Laden größerer Objektmengen.
Der Spezifikationsgruppe hinter JPA ist mit der Abfragesprache ein kleines Meisterstück gelungen. Mit den erweiterten Möglichkeiten der Sub-Selektionen und Aggregat-Funktionen sieht die Sprache zwar aus wie SQL, funktioniert aber in sich streng objektorientiert.
Lesen Sie den vollständigen Artikel hier:
DatabasePro, Ausgabe 1/2009, S. 36 - 42