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
- Siga los pasos para crear un proyecto EJB. Junto al campo
Configuración, pulse Modificar:
- En la página Facetas de proyecto, seleccione Persistencia
Java y pulse Aceptar:
- Siga los pasos para crear el proyecto EJB; en la página Facetas JPA,
- En el campo Plataforma, seleccione Plataforma
JPA de RAD.
- 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.
- 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.
- Cree un bean de sesión en el proyecto EJB:
- En la perspectiva Java™ EE, pulse con el
botón derecho del ratón en el proyecto y seleccione
. Aparece el asistente Crear bean de sesión EJB
3.1.
- En el campo Carpeta de origen, seleccione la carpeta de
origen para el nuevo bean.
- En el campo Paquete Java, especifique el nombre de paquete para el bean nuevo.
- 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.
- Seleccione Remota para añadir una interfaz remota y seleccione Local para
añadir una interfaz local, y pulse Finalizar.
- Cree una entidad JPA en el proyecto EJB:
- Pulse con el botón derecho del ratón en el proyecto EJB y seleccione
- 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.
- 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.
- En el campo Paquete Java, escriba o
navegue hasta el paquete Java de las entidades.
- Seleccione Sincronizar clases en persistence.xml, si
desea sincronizar la clase de entidad con el archivo persistence.xml.
- 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.
- 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")
})
- 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;
}
}