Beispiel: Einfache Container Managed Entity Bean
Beispiel für eine einzelne Container Managed Entity Bean, auf die per Application Client 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.
Quellcode
Da wir hier mit einem ApplicationClient arbeiten und keine Webkomponenten benötigen können
wir ein Standard-Java-Projekt verwenden.
Hier gibt es den Code als Export (siehe Anleitung zum Importieren eines Java Projects)
KuchenExport.zip.
Hier steckt die EAR-Datei des Deploytools: Kuchen.ear
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 KuchenSingleBean 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 "Visual Edit 1.1.0.1" für Eclipse 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/KuchenSingle" referenziert "com.knauf.ejb.kuchen.KuchenSingleHome" und "com.knauf.ejb.kuchen.KuchenSingle".
Deploy/Start
Vor dem Deploy muss die Pointbase-Datenbank gestartet sein damit die Tabelle erzeugt werden kann.
Hier gibt es eine Batch-Datei für das Starten des Application Clients: KuchenClient.bat
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.
Version 1.0.0.1, Stand 01.11.2005
Historie:
1.0.0.0 (10.10.2005): Erstellt
1.0.0.1 (01.11.2005): Klasse "KuchenFrame" in "FrameKuchen" umbenannt, die Main-Methode aus "FrameKuchen" entfernt.