Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package controller; import java.awt.HeadlessException; import java.math.BigDecimal; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; import javax.swing.JOptionPane; import model.AluguelPeca; import model.InterfaceProduto; import model.Produto; import org.hibernate.HibernateException; import org.hibernate.PropertyValueException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import util.HibernateUtil; /** * * @author thales */ public class AluguelPecaController extends ProdutoController { private AluguelPeca peca; public AluguelPecaController() { peca = new AluguelPeca(); } @Override public void salvarHerdeiro() { SessionFactory sf = HibernateUtil.getSessionFactory(); Session s = sf.openSession(); Transaction tx = s.beginTransaction(); try { s.save(this.peca); tx.commit(); JOptionPane.showMessageDialog(null, "Dado Inserido com Sucesso!"); } catch (HeadlessException e) { JOptionPane.showMessageDialog(null, "Erro ao inserir os dados: " + e.getMessage()); tx.rollback(); } catch (PropertyValueException e) { JOptionPane.showMessageDialog(null, "Erro ao inserir os dados, verifique se algum campo est nulo.\n" + e.getMessage()); tx.rollback(); } s.close(); } @Override public void atualizarHerdeiro() { SessionFactory sf = HibernateUtil.getSessionFactory(); Session s = sf.openSession(); Transaction tx = s.beginTransaction(); try { s.merge(this.peca); tx.commit(); JOptionPane.showMessageDialog(null, "Dado Atualizado com Sucesso!"); } catch (HeadlessException e) { JOptionPane.showMessageDialog(null, "Erro ao atualizar os dados: " + e.getMessage()); tx.rollback(); } s.close(); } @Override public void deletarHerdeiro() { SessionFactory sf = HibernateUtil.getSessionFactory(); Session s = sf.openSession(); Transaction tx = s.beginTransaction(); try { s.delete(this.peca); tx.commit(); JOptionPane.showMessageDialog(null, "Dado Deletado com Sucesso!"); } catch (HeadlessException e) { JOptionPane.showMessageDialog(null, "Erro ao deletar os dados: " + e.getMessage()); tx.rollback(); } s.close(); } @Override public InterfaceProduto buscarHerdeiro(int id) { try { EntityManagerFactory factory = Persistence.createEntityManagerFactory("sistemarf-hPU"); EntityManager em = factory.createEntityManager(); Query q = em.createNamedQuery("AluguelPeca.findByIdPeca"); q.setParameter("idPeca", id); AluguelPeca p = (AluguelPeca) q.getSingleResult(); factory.close(); em.close(); return p; } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao buscar Pea: " + e.getMessage()); } return null; } @Override public List buscarTodosHerdeiros() { SessionFactory sf = HibernateUtil.getSessionFactory(); Session s = sf.openSession(); try { List<AluguelPeca> lista = s.createCriteria(AluguelPeca.class).list(); s.close(); return lista; } catch (HibernateException e) { JOptionPane.showMessageDialog(null, "Erro ao listar os dados: " + e.getMessage()); } return null; } @Override public void criarHerdeiro(Produto produto, int idProduto, BigDecimal ph1, Integer ph2) { peca.setProduto(produto); peca.setIdPeca(idProduto); peca.setMulta(ph1); } public AluguelPeca getPeca() { return peca; } public void setPeca(AluguelPeca peca) { this.peca = peca; } }