# EJB Methodenaufrufe



## mayer (2. Aug 2005)

Ich will mit meinem BMP Entity Bean Datensätze aus der Oracle Datenbank laden und sie auch verändern und zurückschreiben. Nun Meine *Frage*:

Wie rufe ich die Methoden: 
*ejbLoad(), ejbStore(), ejbRemove()*
 von außen auf.

Muss man *finder Methoden* im EJB definieren die diese funktionen dann letzendlich aufrufen.

Mfg manuel


----------



## Bleiglanz (2. Aug 2005)

gar nicht, die werden vom EJB-Container aufgerufen (zu den richtigen Zeitpunkten)


----------



## mayer (2. Aug 2005)

Erstmals danke für die Antwort.

2 Fragen:
-> *Wie lösche ich einen Datensatz aus der DB?*
         Muss ich dazu sagen ejb.setDatenFeld(""); oder so etwas in der Art.

-> *Wie kann ich eine Abfrage starten*, d.h ich will z.B.: alle Personen mit dem Namen "Hugo" aus der Tabelle haben


Ich kann zur Zeit nur einen Datensatz aus der Tabelle lesen mittels _findByPrimaryKey_ und diesen dann mittels den
get-Methoden für die Datenfelder die einzelnen Spalten lesen bzw. mit den set-Methoden die Tabellen-Spalten
verändern.

mfg manuel


----------



## Bleiglanz (2. Aug 2005)

löschen:

EJBObject#remove, also einfach ejb.remove() und weg ist sie - sofern du in ejbRemove das ensprechende DELETE hast 

suchen

geht nur mit einem eigenen finder, z.B. mit findByName(String name) und der EJB-QL (geht aber nur mit CMP)

für BMP musst du einen finder schreiben, und als ergebnis eine Collection zurückliefern (und das passende SQL selber schreiben)


----------



## mayer (2. Aug 2005)

Also das mit dem löschen ist mir jetzt klar aber das mit der suchfunktion nicht ganz.

D. h. ich schreibe z.B.: eine Funktion *Collection findName(String vorname)* und was steht in dieser Funktion
dann drinen?

Ein _direkter Zugriff_ auf die Datenbank wie z.B.: "select * from personen where vorname = ?" oder muss ich die Abfrage
mit den _bestehenden Funktionen_(ejbStore, ejbLoad, findByPrimaryKey, ...) gestalten.


----------



## Bleiglanz (2. Aug 2005)

im home findByName

in der Bean ejbFindByName

dort machst du den direkten zugriff auf die db und gibst eine Collection der gefundenen PrimaryKeys zurück!


----------



## mayer (2. Aug 2005)

_*Vielen Dank für deine Hilfe !!!*
_

mfg manuel


----------

