/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package main; import com.tecgraf.dao.FacadeJPA; import com.tecgraf.dao.GenericDAOJPAException; import dao.AlunoDAO; import dao.DisciplinaDAO; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.persistence.EntityManager; import javax.persistence.Query; import negocio.Aluno; import negocio.Disciplina; /** * * @author 42071420687 */ public class Main { @SuppressWarnings({"unchecked", "unchecked", "unchecked", "unchecked", "unchecked"}) public static void main( String[] args ) { // Criate FacadeJPA and DAO objects String persistUnitStr = "ExemploAulaPU"; // initialize Facade JPA FacadeJPA facJPA = null; try { facJPA = FacadeJPA.getInstance(persistUnitStr); } catch( GenericDAOJPAException ex ) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } // Creating the DAOs DisciplinaDAO daoDisciplina = DisciplinaDAO.getInstance(facJPA); AlunoDAO daoAluno = AlunoDAO.getInstance(facJPA); List ld = null; List la = null; Disciplina d = null; Aluno a = null; /*----- Queries ----------------*/ EntityManager em = facJPA.getEntityManager(); // Aluno ----- Query query = em.createNamedQuery("Aluno.findById"); a = (Aluno)query.setParameter("id", 1).getSingleResult(); System.out.println(a); query = em.createNamedQuery("Aluno.findByNome"); a = (Aluno)query.setParameter("nome", "maria").getSingleResult(); System.out.println(a); query = em.createNamedQuery("Aluno.findByMatricula"); a = (Aluno)query.setParameter("matricula", "33333").getSingleResult(); System.out.println(a); System.out.println(); // Aluno->Disciplinas ----- System.out.println("1-Lista de Aluno->Disciplinas"); la = daoAluno.findAll(); for( Aluno a1 : la ) { System.out.println(" Lista de disciplinas: " + a1); for( Disciplina d1 : a1.getDisciplinaCollection() ) { System.out.print(" " + d1 + "\n"); } } System.out.println("\n"); // Disciplina ----- query = em.createNamedQuery("Disciplina.findById"); d = (Disciplina)query.setParameter("id", 2).getSingleResult(); System.out.println(d); query = em.createNamedQuery("Disciplina.findByNome"); d = (Disciplina)query.setParameter("nome", "FrameWorks").getResultList().get(0); System.out.println(d); query = em.createNamedQuery("Disciplina.findByCodigo"); d = (Disciplina)query.setParameter("codigo", "ALG").getResultList().get(0); System.out.println(d); System.out.println(); /* Disciplina->Alunos -----*/ System.out.println("2a-Lista de Disciplina->Alunos"); ld = daoDisciplina.findAll(); for( Disciplina d1 : ld ) { System.out.println(" Lista de Alunos da disciplina : " + d1); for( Aluno a1 : d.getAlunoCollection() ) { System.out.print(" " + a1 + "\n"); } } System.out.println(); System.out.println("2b-Lista de Disciplina->Alunos (native query)"); ld = (List)daoDisciplina.queryNative("select * from disciplina"); for( Disciplina d1 : ld ) { System.out.println(" Lista de Alunos da disciplina : " + d1); for( Aluno a1 : d.getAlunoCollection() ) { System.out.print(" " + a1 + "\n"); } } System.out.println(); /*-----*/ /*------ Updating Aluno ------------ */ try { Aluno aa1 = daoAluno.findById(1); Aluno aa2 = new Aluno(aa1); aa1.setNome("MATEUS"); daoAluno.updatePersistent(aa1); System.out.println("3a-Lista de Aluno->Discipinas (update)"); la = daoAluno.findAll(); for( Aluno a1 : la ) { System.out.println(" Lista de disciplinas: " + a1); for( Disciplina d1 : a1.getDisciplinaCollection() ) { System.out.print(" " + d1 + "\n"); } } System.out.println(); // restaura banco daoAluno.updatePersistent(aa2); System.out.println("3b-Lista de Aluno->Discipinas (retorna estado inicial do bd)"); la = daoAluno.findAll(); for( Aluno a1 : la ) { System.out.println(" Lista de disciplinas: " + a1); for( Disciplina d1 : a1.getDisciplinaCollection() ) { System.out.print(" " + d1 + "\n"); } } System.out.println(); } catch( GenericDAOJPAException ex ) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } //System.exit(0); //-----*/ // Removing Aluno try { Aluno aa3 = daoAluno.findById(3); Aluno aa4 = new Aluno(); //aa4.setId(4); aa4.setMatricula("33333 4"); aa4.setNome("jose"); d = daoDisciplina.findByCodigo("FPSW"); aa4.getDisciplinaCollection().add(d); // Remove Aluno //daoAluno.deletePersistent(aa3); System.out.println("4-Lista de Aluno->Disciplinas (delete)"); la = daoAluno.findAll(); for( Aluno a1 : la ) { System.out.println(" Lista de disciplinas: " + a1); for( Disciplina d1 : a1.getDisciplinaCollection() ) { System.out.print(" " + d1 + "\n"); } } System.out.println(); // Restaura banco daoAluno.makePersistent(aa4); System.out.println("5-Lista de Aluno->Disciplinas (retorna estado inicial do bd)"); la = daoAluno.findAll(); for( Aluno a1 : la ) { System.out.println(" Lista de disciplinas: " + a1); for( Disciplina d1 : a1.getDisciplinaCollection() ) { System.out.print(" " + d1 + "\n"); } } System.out.println(); } catch( GenericDAOJPAException ex ) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } // shutdown Facade JPA System.out.println("\n"); facJPA.shutdown(); } }