Création d'un bean session avec des entités JPA

Vous pouvez utiliser l'assistant de création de bean session EJB 3.1 pour créer un bean session et une entité JPA dans votre projet EJB.

Procédure

  1. Procédez comme suit pour créer un projet EJB. A côté de la zone Configuration, cliquez sur Modifier :

    Modifier la configuration

  2. Sur la page Facettes de projet, sélectionnez Persistance Java et cliquez sur OK:
    Ajouter une facette JPA
  3. Suivez les étapes pour créer votre projet EJB ; sur la page Facette JPA,
    1. Dans la zone Plateforme, sélectionnez Plateforme RAD JPA.
    2. Dans la zone Connexion, sélectionnez une connexion ou cliquez sur Ajouter une connexion pour créer une connexion. Procédez comme suit pour créer la connexion de base de données de votre choix.
    3. Sélectionnez Remplacer le schéma par défaut à partir de la connexion, et sélectionnez un schéma alternatif dans la zone Schéma si vous ne voulez pas utiliser le schéma par défaut, puis cliquez sur Terminer.
  4. Créez un bean session dans votre projet EJB :
    1. dans la perspective Java™ EE, cliquez avec le bouton droit sur votre projet, et sélectionnez Nouveau > Bean session. L'assistant de création d'un bean session EJB 3.1 apparaît à l'écran.
    2. Dans la zone Dossier source, sélectionnez le dossier source pour le nouveau bean.
    3. Dans la zone Package Java, tapez le nom du package du nouveau bean.
    4. Dans la zone Nom du bean, tapez le nom que vous voulez donner au bean enterprise. Par convention, les noms de bean doivent commencer par une majuscule.
      Remarque : Vous pouvez utiliser des caractères Unicode dans le nom des beans, mais pas dans celui des packages de beans enterprise et des classes qui y associées.
    5. Sélectionnez Distante si vous voulez ajouter une interface distante, ou Locale si vous voulez ajouter une interface locale, puis cliquez sur Terminer.
  5. Créez une entité JPA dans votre projet EJB :
    1. Cliquez avec le bouton droit sur votre projet EJB et sélectionnez JPA > Générer des entités....
    2. Sur la page Connexion de base de données, vérifiez que la connexion et le schéma sont corrects, puis cliquez sur Suivant.
    3. Sur la page Générer des entités à partir des tables, dans la zone Dossier source, entrez un nom pour le dossier source ou naviguez jusqu'au chemin d'accès du dossier qui contiendra le fichier source Java pour votre entité.
    4. Dans la zone Package Java, entrez le nom du package Java de vos entités ou utilisez le bouton Parcourir pour le sélectionner.
    5. Sélectionnez Synchroniser les classes dans persistence.xml si vous voulez synchroniser votre classe entité avec le fichier persistence.xml.
    6. Dans la zone Tables, sélectionnez la ou les tables à partir desquelles vous voulez créer des entités, puis cliquez sur Terminer. L'éditeur Java s'ouvre avec votre classe d'entité JPA.
  6. Créez des requêtes dans votre classe entité JPA : ouvrez votre classe entité Java dans l'éditeur Java, où vous pouvez créer des requêtes pour extraire des données de la base de données. Voici par exemple deux requêtes simples dans la classe entité :
    @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. Utilisez la classe entité JPA dans votre bean session : dans votre bean session sans état, vous pouvez utiliser une injection de gestionnaire d'entités pour exécuter la requête que vous avez créée dans votre entité JPA. Ouvrez votre classe de bean session dans l'éditeur Java et créez un gestionnaire d'entités qui se connecte à l'entité JPA. Voici un exemple qui appelle les requêtes créées précédemment :
    @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;
    	}
    }
Icône indiquant le type de rubrique Rubrique de tâche
Dispositions pour les centres de documentation | Commentaires en retour

Icône d'horodatage Dernière mise à jour: May 29, 2014 10:11

Nom de fichier : tsessbeanjpawiz.html