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.

59 ENTITY MANAGER1 public class InsereCidades {23 public static void main ( String [] args ) {4 EntityManagerFactory factory = Persistence5 . createEntityManagerFactory (" K21_entity_manager_pu ");6 EntityManager manager = factory . createEntityManager ();78 manager . getTransaction (). begin ();910 Cidade saoPaulo = new Cidade ();11 saoPaulo . setNomeDaCidade (" São Paulo ");12 saoPaulo . setNomeDoEstado (" São Paulo ");1314 Cidade rioDeJaneiro = new Cidade ();15 rioDeJaneiro . setNomeDaCidade (" Rio de Janeiro ");16 rioDeJaneiro . setNomeDoEstado (" Rio de Janeiro ");1718 Cidade natal = new Cidade ();19 natal . setNomeDaCidade (" Natal ");20 natal . setNomeDoEstado (" Rio Grande do Norte ");2122 manager . persist ( saoPaulo );23 manager . persist ( rioDeJaneiro );24 manager . persist ( natal );2526 manager . getTransaction (). <strong>com</strong>mit ();2728 manager . close ();29 factory . close ();30 }31 }Código Java 3.43: InsereCidades.java25 No pacote br.<strong>com</strong>.k19.testes do projeto K19-EntityManager, crie uma classe para testar ofuncionamento do cache de segundo nível.1 public class TesteSharedCache {2 public static void main ( String [] args ) {3 EntityManagerFactory factory = Persistence4 . createEntityManagerFactory (" K21_entity_manager_pu ");5 EntityManager manager1 = factory . createEntityManager ();67 System . out . println (" ------------------ PRIMEIRO FIND -----------------");8 Cidade cidade = manager1 . find ( Cidade .class , 1L);910 EntityManager manager2 = factory . createEntityManager ();1112 System . out . println (" ------------------ SEGUNDO FIND ------------------");13 cidade = manager2 . find ( Cidade .class , 1L);14 }15 }Código Java 3.44: TesteSharedCache.javaObserve no console que apenas uma operação select foi realizada.CascadePor padrão, as operações dos Entity Managers são aplicadas somente ao objeto passado <strong>com</strong>oparâmetro para o método que implementa a operação, ou seja, essas operações não são aplicadas aosobjetos relacionados ao objeto passado <strong>com</strong>o parâmetro. Por exemplo, suponha um relacionamentowww.k19.<strong>com</strong>.br 59

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

Saved successfully!

Ooh no, something went wrong!