In dieser Session sprachen Mike Keith von Oracle und Patrick Linskey von BEA über JPA. Eine wesentlichen Nachricht von der Spring One ist, dass Spring und JPA der Application Stack der Zukunft sein wird. Daher gibt es auch einen ausführlichen Track zu diesem Thema.
In dieser Session ging es dabei um die Grundlagen. Interessant waren daher eher die Zwischentöne und Nebenbemerkungen. So sagte Patrick, dass die DB Optimierungen noch fehlen, d.h. man hat sich bei JPA noch nicht intensiv um dieses Thema gekümmert. Ein Problem bei JPA ist, dass Updates mit JP QL nicht im Cache landen, so dass es Inkonsistenzen geben kann.
Mit JPA kann man die Persistenz mit Annotation und mit XML definieren. Die Frage ist nun, was man wo nutzen sollte. Patrick gab hier als Tipp, dass man Datenbank-Spezifika wie zum Beispiel den Spalten-Namen im XML definieren sollte, weil sich dieser ändern könnte, man so das Objekt-Modell auch auf einer anderen Datenbank verwenden kann und den manchmal hässlichen SQL-Code aus den Annotationen raushält. Dinge wie @Entity oder @Id sind aus seiner Sicht eher Bestandteile der Klasse, so dass man sie als Annotationen definieren kann. Er glaubt auch, dass man Tools sehen wird, die aus den Annotationen XML generieren, so dass man bei der Entwicklung mit den Annotationen arbeiten kann und später beim Deployment mit XML, um dann langfristig die Wartung zu vereinfachen. Außerdem ist er der Meinung, dass man das Überschreiben der Einstellungen aus den Annotationen mit den Einstellungen aus dem XML-File vermeiden sollte, weil man dann nicht weiß, welche Einstellung von wo kommt. Ich muss hier zustimmen, das Überschreiben von Konfigurationen ist eine wirklich schlechte Idee.
Ingesamt eine ganze gute Übersicht, aber eben eher auf Einsteiger-Niveau.