Exemplos JPA - consulta por codigo

Ir em baixo

Exemplos JPA - consulta por codigo

Mensagem por Admin em Ter Set 24, 2013 1:37 pm

GenericJpaDAO.java
Código:

package br.gov.geracaotecsc.controleproduto.dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class GenericJpaDAO {

   private EntityManagerFactory emf;

   private EntityManager getEntityManager() {
      if (emf == null) {
         emf = Persistence.createEntityManagerFactory("controleprodutos");
      }

      return emf.createEntityManager();
   }

   public void cadastre(Object entity) throws DAOException {

      EntityManager em = getEntityManager();
      try {
         em.getTransaction().begin();
         em.persist(entity);
         em.getTransaction().commit();
      } catch (Exception e) {
         em.getTransaction().rollback();
         throw new DAOException("Erro ao cadastrar nave", e);
      } finally {
         emf.close();
      }
   }

   //declaracao usando generics
   //public <T> T consultePorPK(Class<T> entityClass, int pk)
   
   public Object consultePorPK(Class<?> entityClass, int pk)
         throws DAOException {
      EntityManager em = getEntityManager();

      try {
         return em.find(entityClass, pk);
      } catch (Exception e) {
         throw new DAOException("Erro ao localizar registro", e);
      } finally {
         emf.close();
      }
   }

}
CombustivelDAO.java
Código:

package br.gov.geracaotecsc.controleproduto.dao;

import br.gov.geracaotecsc.controleproduto.dados.jpa.Combustivel;


public class CombustivelDAO extends GenericJpaDAO{
   public Combustivel consultaCombustivelPorCodigo(int codigo) throws DAOException {
      return (Combustivel) consultePorPK(Combustivel.class, codigo);
      
      //se estivesse usando generics:
      //return consultePorPK(Combustivel.class, codigo);
   }
}

Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum