Beispiel: Einfache Container Managed Entity Bean
Beispiel für eine einzelne Container Managed Entity Bean, auf die per Webclient zugegriffen wird.
Aufbau des Beispieles
Mittels einer Entity Bean werden Objekte vom Typ "Kuchen" abgebildet.
Ein Kuchen besteht nur aus der Property "Name".
Bestandteile:
a) Entity-Bean-Klasse mit Remote-Interfaces.
b) Application Client.
Deploy der Entity Bean "Kuchen"
Schritt 1: Einstellungen siehe Screenshot.
Schritt 2: Bean-Klasse sowie die Remote-Interfaces auswählen.
Schritt 3: Auswählen der persistenten Datenbankfelder.
Das Feld "Name" soll vom Container verwaltet werden. Der Primary Key wird vom Container erzeugt.
Schritt 3a: Von Schritt 3 aus Deklarieren der Finder.
Diese einfache Anwendung enthält nur eine "findAll"-Methode ohne weitere WHERE-Bedingungen.
Die Query sieht so aus:
Select Object (k) from KuchenSingle k order by k.name
Wichtig hierbei: Der "Abstract Schema Name" aus Schritt 3 muss genau so in der Finder-Methode verwendet werden.
Nachbearbeitung:
Nach dem Anlegen der Bean MÜSSEN die Datenbankfeld-Informationen erzeugt werden. Dazu die Bean
auswählen und in der TabPage "General" in die "Sun Specific Settings" gehen.
In dem Dialog "Create Database Mappings" belassen wir alles im Default und klicken auf OK.
Die Datenbankfelder werden automatisch erzeugt:
Deploy des Application Clients
Schritt 1: Hinzufügen eines ApplicationClients sowie Remote Interface
und Remote Home der Bean. Zu beachten: da die GUI mit JBuilder designt wurde, entstehen zusätzliche Klassen,
die Event-Handler kapseln.
Schritt 2: Die Main Class ist com.knauf.ejb.kuchen.KuchenApplicationClient.
Nachbearbeitung:
Folgende EJB-Referenz hinzufügen:
"ejb/Kuchen" referenziert "com.knauf.ejb.kuchen.KuchenHome" und "com.knauf.ejb.kuchen.Kuchen".
Erzeugte Datenbanktabelle
Im Pointbase-Tool sieht die erzeugte Datenbanktabelle so aus:
Man erkennt das vom Container automatisch erzeugte Primary Key-Feld. Der Grund für den Namen der Spalte "NAME" ("NAME9")
bleibt mir allerdings rätselhaft.