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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

JPQL 802122 manager . close ();23 factory . close ();24 }25 }Código Java 4.13: TesteConsultaDinamicas.javaExecute e observe que as consultas são realizadas aos poucos devido ao carregamento emmodo LAZY.7 Para testar as Named Queries, acrescente a anotação @NamedQuery na classe Autor.1 @Entity2 @NamedQuery ( name =" Autor . findAll ", query =" select a from Autor a")3 public class Autor {4 . . .5 }Código Java 4.14: Autor.java8 Em seguida, crie um teste para Named Query definida no exercício anterior. Adicione no pacotebr.<strong>com</strong>.k19.testes do projeto K19-JPQL a seguinte classe:1 public class TesteNamedQuery {2 public static void main ( String [] args ) {3 EntityManagerFactory factory = Persistence4 . createEntityManagerFactory (" K21_jpql_pu ");5 EntityManager manager = factory . createEntityManager ();67 Query query = manager . createNamedQuery (" Autor . findAll ");8 List autores = query . getResultList ();910 for ( Autor autor : autores ) {11 System . out . println (" Autor : " + autor . getNome ());12 Collection livros = autor . getLivros ();1314 for ( Livro livro : livros ) {15 System . out . println (" Livro : " + livro . getNome ());16 System . out . println (" Preço : " + livro . getPreco ());17 System . out . println ();18 }19 System . out . println ();20 }2122 manager . close ();23 factory . close ();24 }25 }Código Java 4.15: TesteNamedQueryExecute e observe que as consultas são realizadas aos poucos devido ao carregamento emmodo LAZY.9 Acrescente a anotação @NamedQuery na classe Livro para definir uma consulta por preço mínimoutilizando parâmetros.1 @Entity2 @NamedQuery ( name =" Livro . findByPrecoMinimo ",3 query =" select livro from Livro livro where livro . preco >= : preco ")4 public class Livro {5 . . .80 www.k19.<strong>com</strong>.br

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

Saved successfully!

Ooh no, something went wrong!