11.07.2015 Views

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JPQL 905 EntityManager manager = factory . createEntityManager ();67 Query query = manager . createQuery (" select a from Autor a");8 List autores = query . getResultList ();9 System . out . println ();1011 for ( Autor autor : autores ) {12 System . out . println (" Autor : " + autor . getNome ());13 Collection livros = autor . getLivros ();1415 for ( Livro livro : livros ) {16 System . out . println (" Livro : " + livro . getNome ());17 }18 System . out . println ();19 }2021 manager . close ();22 factory . close ();23 }24 }Código Java 4.45: ListaAutoresELivros.javaExecute e observe, no console, a quantidade de consultas realizadas.21 Altere a classe ListaAutoresELivros para reduzir a quantidade de consultas ao banco de dados.Aplique o <strong>com</strong>ando fetch join na consulta de autores.1 public class ListaAutoresELivros {2 public static void main ( String [] args ) {3 EntityManagerFactory factory = Persistence4 . createEntityManagerFactory (" K21_jpql_pu ");5 EntityManager manager = factory . createEntityManager ();67 Query query = manager . createQuery (8 " select distinct (a) from Autor a left join fetch a. livros ");9 List autores = query . getResultList ();10 System . out . println ();1112 for ( Autor autor : autores ) {13 System . out . println (" Autor : " + autor . getNome ());14 Collection livros = autor . getLivros ();1516 for ( Livro livro : livros ) {17 System . out . println (" Livro : " + livro . getNome ());18 }19 System . out . println ();20 }2122 manager . close ();23 factory . close ();24 }25 }Código Java 4.46: ListaAutoresELivros.javaExecute e observe, no console, que apenas uma consulta é realizada.Operações em Lote (Bulk Operations)Para atualizar ou remover registros das tabelas do banco de dados, a abordagem mais <strong>com</strong>umé realizar uma consulta, trazendo para a memória os objetos referentes aos registros que devem ser90 www.k19.<strong>com</strong>.br

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!