Session-Bean mit JPA-Entitäten erstellen

Sie können mithilfe des Assistenten zum Erstellen von EJB 3.1-Session-Beans in Ihrem EJB-Projekt eine Session-Bean und eine JPA-Entität erstellen.

Vorgehensweise

  1. Befolgen Sie die Schritte zum Erstellen eines EJB-Projekts. Klicken Sie neben dem Feld Konfiguration auf Ändern:

    Konfiguration ändern

  2. Wählen Sie auf der Seite "Projektfacetten" die Option Java-Persistenz aus und klicken Sie auf OK:
    JPA-Facette hinzufügen
  3. Führen Sie die Schritte zum Erstellen Ihres EJB-Projekts aus; gehen Sie auf der Seite "JPA-Facetten" wie folgt vor:
    1. Wählen Sie im Feld Plattform die Option RAD-JPA-Plattform aus.
    2. Wählen Sie im Feld Verbindung eine Verbindung aus oder klicken Sie auf Verbindung hinzufügen, um eine Verbindung zu erstellen. Führen Sie die Schritte zum Erstellen einer Datenbankverbindung Ihrer Wahl aus.
    3. Wählen Sie Standardschema aus der Verbindung überschreiben aus und wählen Sie ein anderes Schema im Feld Schema aus, wenn Sie das Standardschema nicht verwenden möchten. Klicken Sie auf Fertigstellen.
  4. Erstellen Sie eine Session-Bean in Ihrem EJB-Projekt:
    1. Klicken Sie in der Perspektive "Java™ EE" mit der rechten Maustaste auf das Projekt und wählen Sie die Optionen Neu > Session-Bean aus. Daraufhin wird der Assistent zum Erstellen von EJB 3.1-Session-Beans geöffnet.
    2. Wählen Sie im Feld Quellenordner den Quellenordner für die neue Bean aus.
    3. Geben Sie in das Feld Java-Paket den Paketnamen für die neue Bean ein.
    4. Geben Sie in das Feld Bean-Name den Namen ein, den Sie der Enterprise-Bean zuordnen möchten. Gemäß der Konvention beginnen Bean-Namen mit einem Großbuchstaben.
      Anmerkung: Sie können für den Bean-Namen Unicode-Zeichen verwenden. Diese werden jedoch für Enterprise-Bean-Pakete und für Klassen, die Enterprise-Beans zugeordnet sind, nicht unterstützt.
    5. Wählen Sie "Fern" aus, um eine ferne Schnittstelle hinzuzufügen, oder wählen Sie "Lokal" aus, um eine lokale Schnittstelle hinzuzufügen. Klicken Sie anschließend auf Fertigstellen.
  5. Erstellen Sie eine JPA-Entität in Ihrem EJB-Projekt:
    1. Klicken Sie mit der rechten Maustaste auf das EJB-Projekt und wählen Sie die Optionen JPA > Entitäten generieren... aus.
    2. Vergewissern Sie sich, dass die Verbindung und das Schema auf der Seite für die Datenbankverbindung richtig sind, und klicken Sie auf Weiter.
    3. Geben Sie auf der Seite "Entitäten aus Tabellen generieren" im Feld "Quellenordner" einen Namen für Ihren Quellenordner ein oder navigieren Sie zu dem Pfad des Ordners, der die Java-Quellendatei für Ihre Entität enthalten soll.
    4. Geben Sie im Feld "Java-Paket" das Java-Paket für Ihre Entitäten an oder navigieren Sie zu dem Java-Paket.
    5. Wählen Sie Klassen in "persistence.xml" synchronisieren aus, wenn Sie Ihre Entitätsklasse mit der Datei persistence.xml synchronisieren wollen.
    6. Wählen Sie im Feld Tabellen die Tabelle oder Tabellen aus, aus der bzw. denen Sie Entitäten erstellen wollen, und klicken Sie auf Fertig stellen. Der Java-Editor wird mit Ihrer JPA-Entitätsklasse geöffnet.
  6. Erstellen Sie Abfragen in Ihrer JPA-Entitätsklasse: Öffnen Sie Ihre JPA-Entitätsklasse im Java-Editor, sodass Sie Abfragen erstellen können, um Daten aus der Datenbank abzurufen. Die folgenden Beispiele zeigen zwei einfache Abfragen in der Entitätsklasse:
    @Entity
    @NamedQueries({
    	@NamedQuery(name = "findBySalaryLessThan", query = "SELECT e FROM Employee e WHERE e.salary < :salary"),
    	@NamedQuery(name = "findBySalaryGreaterThan", query = "SELECT e FROM Employee e WHERE e.salary > :salary")
    })
  7. Verwenden Sie Ihre JPA-Entität in der Session-Bean: In Ihrer Stateless-Session-Bean können Sie per "EntityManager Injection" die Abfragen ausführen, die Sie in Ihrer JPA-Entität erstellt haben. Öffnen Sie Ihre Session-Bean-Klasse im Java-Editor und erstellen Sie einen EntityManager, der eine Verbindung zur JPA-Entität herstellt. Im nachfolgenden Beispiel werden die in einem vorherigen Schritt erstellten Abfragen aufgerufen:
    @Stateless
    public class HumanResourcesBean implements HumanResources {
    
    	@PersistenceContext
    	private EntityManager emanager;
    
    	public HumanResourcesBean() {
    	}
    
    	public List<Employee> findBySalaryLessThan(double salary) {
    		Query query = emanager.createNamedQuery("findBySalaryLessThan");
    		query.setParameter("salary", BigDecimal.valueOf(salary));
    
    		@SuppressWarnings("unchecked")
    		List<Employee> result = query.getResultList();
    		return result;
    	}
    
    	public List<Employee> findBySalaryGreaterThan(double salary) {
    		Query query = emanager.createNamedQuery("findBySalaryGreaterThan");
    		query.setParameter("salary", BigDecimal.valueOf(salary));
    
    		@SuppressWarnings("unchecked")
    		List<Employee> result = query.getResultList();
    		return result;
    	}
    }
Symbol das den Typ des Artikels anzeigt. Taskartikel
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: tsessbeanjpawiz.html