Crear un bean de sesión con entidades JPA

Puede utilizar el asistente Crear bean de sesión EJB 3.1 para crear un bean de sesión y una entidad JPA en el proyecto EJB.

Procedimiento

  1. Siga los pasos para crear un proyecto EJB. Junto al campo Configuración, pulse Modificar:

    Modificar configuración

  2. En la página Facetas de proyecto, seleccione Persistencia Java y pulse Aceptar:
    Añadir faceta JPA
  3. Siga los pasos para crear el proyecto EJB; en la página Facetas JPA,
    1. En el campo Plataforma, seleccione Plataforma JPA de RAD.
    2. En el campo Conexión, seleccione una conexión, o pulse Añadir conexión para crear una conexión. Siga los pasos para crear una conexión de base de datos de su elección.
    3. Seleccione Alterar temporalmente esquema predeterminado de conexión y elija un esquema alternativo en el campo Esquema, si no desea utilizar el esquema predeterminado, y pulse Finalizar.
  4. Cree un bean de sesión en el proyecto EJB:
    1. En la perspectiva Java™ EE, pulse con el botón derecho del ratón en el proyecto y seleccione Nuevo > Bean de sesión. Aparece el asistente Crear bean de sesión EJB 3.1.
    2. En el campo Carpeta de origen, seleccione la carpeta de origen para el nuevo bean.
    3. En el campo Paquete Java, especifique el nombre de paquete para el bean nuevo.
    4. En el campo Nombre de bean, escriba el nombre que desea asignar al enterprise bean. Por convenio, los nombres de bean empiezan en mayúscula.
      Nota: Puede utilizar caracteres Unicode para el nombre de bean, pero no se da soporte a los caracteres Unicode para paquetes de enterprise beans y clases asociadas con enterprise beans.
    5. Seleccione Remota para añadir una interfaz remota y seleccione Local para añadir una interfaz local, y pulse Finalizar.
  5. Cree una entidad JPA en el proyecto EJB:
    1. Pulse con el botón derecho del ratón en el proyecto EJB y seleccione JPA > Generar entidades...
    2. En la página Conexión de base de datos, asegúrese de que la conexión y el esquema sean correctos, y pulse Siguiente.
    3. En la página Generar entidades desde tablas, en el campo Carpeta de origen, escriba un nombre para la carpeta de origen o navegue hasta la vía de acceso de la carpeta donde reside el archivo fuente Java de la entidad.
    4. En el campo Paquete Java, escriba o navegue hasta el paquete Java de las entidades.
    5. Seleccione Sincronizar clases en persistence.xml, si desea sincronizar la clase de entidad con el archivo persistence.xml.
    6. En el campo Tablas, seleccione la tabla o tablas a partir de las cuales desee crear entidades, y pulse Finalizar. Se abrirá el Editor Java, que muestra la clase de entidad JPA.
  6. Cree consultas en la clase de entidad JPA: abra la clase de entidad JPA en el Editor Java y cree consultas para recuperar datos de la base de datos. Por ejemplo, a continuación se muestran dos consultas simples en la clase de entidad:
    @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. Utilice la entidad JPA en el bean de sesión: en el bean de sesión sin estado, puede utilizar la inyección de EntityManager para ejecutar las consultas creadas en la entidad JPA. Abra la clase de bean de sesión en el Editor Java y cree un EntityManager que se conecte a la entidad JPA. El ejemplo siguiente ejecuta las consultas creadas en un paso anterior:
    @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;
    	}
    }
Icono que indica el tipo de tema Tema de tarea
Términos y condiciones para centros de información | Comentarios

Icono de indicación de fecha y hora Última actualización: 22 de abril de 2014

Nombre de archivo: tsessbeanjpawiz.html