In Java wird fast jede Klasse eine Bohne genannt. Verwechsle das also nicht. Die verschiedenen Bean-Terms, die Sie anzeigen, sind Konzepte der Funktion, die eine Klasse in Ihrer Anwendung hat.
Normalerweise repräsentiert die Entity-Bean eine Entität Ihrer Domain. Ein Benutzer, ein Buch, ein Auto oder was auch immer. Normalerweise mit einigen Eigenschaften (Vorname, Nachname usw.). Ein abstrahiertes (oder konzeptionelles) Objekt Ihrer Domain. Leider in EJB Entity Bean ist als Business Controller für ein Domain-Objekt gemeint, das alle komplexen Aktionen behandelt, an denen ein Domain-Objekt beteiligt sein kann (wie ein neues Buch mit Abhängigkeiten erstellen, Buch verkaufen, Orderbuch und was auch immer Ihre Domain zulässt Buch). Alle Ihre Anwendungsfälle.
Das Domänenobjekt selbst (ein Buch) mit seinen Eigenschaften (Titel, ISBN-Nummer, Preis, Anzahl der Seiten) wird durch eine Data-Bean dargestellt, die normalerweise einigen Datenbanktabellen und Zeilen zugeordnet ist.
Die Session-Bean ist normalerweise eine Art Container für Informationen, die an die Sitzung eines Benutzers gebunden sind (und hat daher einen gewissen Lebenszyklus, da die Benutzersitzung abläuft). Dies kann Information sein, wenn der Benutzer authentifiziert ist oder welche Daten der Benutzer gerade bearbeitet. Daher sollte die Session-Bean einen Zeiger auf eine Entity-Bean haben, die die Kerndaten des Benutzers darstellt.
Die Access-Beans scheinen einige Klone auf dem "Data Access Object/DAO" -Muster zu sein. Hierbei handelt es sich um anwendungsweite Klassen, mit denen Sie auf Entitäten zugreifen können, indem Sie Methoden wie "getUserByUsername" bereitstellen oder Methoden für verschiedene Suchvorgänge finden und Zugriff auf Datenbanken und andere Speicher kapseln.
Vielen Dank SCI das ist wirklich eine gute Erklärung, aber ich habe eine Frage Wenn in EJB "Entity Bean als Bussiness Controller gemeint ist" und alle komplexen Aktionen dann behandeln, ist es Bean Session Bean nur verwendet, um authenticater Benutzer? –
Ich denke, der Hauptunterschied bei diesen beiden Objekten ist der Lebenszyklus (auch der Lebenszyklus von persistenten Daten). Die Session-Bean ist an einen Benutzer vor Ihrer Anwendung gebunden. Irgendwann wird die Sitzung verworfen. Es ist eine temporäre Instanz (ein Webshop-Basklet wäre ein anderes Beispiel), die an einen Benutzer gebunden ist. Die Business Controller, die Methoden haben, komplexe Aktionen wie "buy a book" zu handhaben, sind langlebig und existieren für den Lebenszyklus der gesamten Anwendung und sind normalerweise nicht an einen Benutzer gebunden (können aber Benutzerdaten als Parameter haben). – SCI