Datenhaltung - EntityBeans

J. Kechel
Die Datenbank-Zugriffe zur Datenhaltung werden vom Applikation-Server übernommen. Dazu verwenden wir so genannte Entity Beans mit Container Managed Persistence (CMP 2.0).Container Manageded Persistence bedeutet, daß der JBoss EJB-Container für uns alle Datenbankzugriffe automatisiert. Unser Source-Code enthält somit keine einzige SQL-Anweisung. Daher kann der Server auf jeder Datenbank operieren, die einen JDBC-Treiber zur Verfügung stellt, ohne die Beans verändern zu müssen.

Der Zugriff wird mit Funktionen gestattet, die in den Entity Beans deklariert werden. Wir deklarieren dabei jedoch lediglich pro Spalte eine abstract setColumn und eine abstract getColumn Funktion, deren Implementation automatisch vom JBoss bereitgestellt wird.

Das Erstellen neuer Datensätze kann in der ejbCreate( Column 1, ..) Funktion implementiert werden.

Des weiteren erlauben CMP - EntityBean Findermethoden das Schreiben von Abfragen in EJB-QL, einer SQL-Abwandlung die zu vielen Datenbanken kompatibel ist. So werden die select * from table xx where xxx ersetzt.

Auch Transaktionen werden vom JBoss übernommen, und zwar in der Form, daß jeder beliebige Funktionsaufruf - auch die vom Client - welcher Daten in einer oder mehreren Tabellen verändert, insgesamt in eine Transaktion gepackt wird. So werden die Daten geschrieben und die Funktion gibt einen normalen return Wert zurück. Bei Fehlfunktion wird eine entsprechende Exception generiert und die Daten werden alle wieder in den ursprünglich Zustand zurückgebracht (Rollback).



Unterabschnitte
Jan Kechel 2006-04-28