A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Session Bean Marco A. S. Reis. Camada de negócio Fazem parte da camada de negócio as classes que contém os métodos que irão gerar a aplicação. A medida.

Apresentações semelhantes


Apresentação em tema: "Session Bean Marco A. S. Reis. Camada de negócio Fazem parte da camada de negócio as classes que contém os métodos que irão gerar a aplicação. A medida."— Transcrição da apresentação:

1 Session Bean Marco A. S. Reis

2 Camada de negócio Fazem parte da camada de negócio as classes que contém os métodos que irão gerar a aplicação. A medida que a aplicação cresce, teremos mais métodos reutilizáveis.

3 Configuração A partir do EJB 3.0 temos alguns avanços e facilidades no gerenciamento das entidades. Para começar, vamos criar o arquivo SistemaBancario-ds.xml em META-INF. Em seguida, atualizaremos o persistence.xml. Obs.: copiar o driver do mysql (mysql- connector-xxx.jar para jboss/server/default/lib).

4 SistemaBancario-ds.xml jdbc/SistemaBancarioDS jdbc:mysql://localhost:3306/financeiro com.mysql.jdbc.Driver root S E N H A 1 2 mySQL

5 persistence.xml <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"> java:jdbc/SistemaBancarioDS

6 IFachadaCorrentista package org.financeiro.negocio; import java.util.*; import javax.ejb.*; import org.financeiro.entidades.*; @Local public interface IFachadaCorrentista { public Correntista consultaPeloId(Long id); public List consultaTodos(); public void inserir(Correntista correntista); public void excluir(Correntista correntista); }

7 FachadaCorrentista package org.financeiro.negocio; Import {…...} @Stateless public class FachadaCorrentista implements IFachadaCorrentista { @PersistenceContext(unitName = "financeiro-pu") private EntityManager em; public Correntista consultaPeloId(Long id) { return em.find(Correntista.class, id); } public void inserir(Correntista correntista) { em.merge(correntista); } public List consultaTodos() { Query query = em.createQuery("FROM Correntista"); return query.getResultList(); } public void excluir(Correntista correntista) { em.refresh(correntista); em.remove(correntista); }

8 Injeção de Dependência Na FachadaCorrentista vemos um exemplo de Injeção de Dependência (@PersistenceContext). Alguns autores acreditam que substitui o DAO, que passa a ser um anti-pattern. Soluções híbridas com injeção de dependência de DAO podem ser uma alternativa.


Carregar ppt "Session Bean Marco A. S. Reis. Camada de negócio Fazem parte da camada de negócio as classes que contém os métodos que irão gerar a aplicação. A medida."

Apresentações semelhantes


Anúncios Google