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.

49 ENTITY MANAGER1415 // SINCRONIZANDO E CONFIRMANDO A TRANSACAO16 manager . getTransaction (). <strong>com</strong>mit ();1718 manager . close ();19 factory . close ();20 }21 }Código Java 3.20: TesteManaged.javaExecute e consulte o banco de dados através do MySQL Workbench!8 Altere objetos no estado detached e depois faça um sincronização <strong>com</strong> o banco de dados atravésde uma chamada ao método <strong>com</strong>mit(). Crie uma classe chamada TesteDetached dentro de umpacote br.<strong>com</strong>.k19.testes no projeto K19-EntityManager.1 public class TesteDetached {2 public static void main ( String [] args ) {3 EntityManagerFactory factory =4 Persistence . createEntityManagerFactory (" K21_entity_manager_pu ");5 EntityManager manager = factory . createEntityManager ();67 manager . getTransaction (). begin ();89 // OBJETO NO ESTADO MANAGED10 Pessoa p = manager . find ( Pessoa .class , 1L);1112 // OBJETO NO ESTADO DETACHED13 manager . detach (p);1415 // ALTERANDO O CONTEUDO DO OBJETO16 p. setNome (" Jonas Hirata ");1718 // SINCRONIZANDO E CONFIRMANDO A TRANSACAO19 manager . getTransaction (). <strong>com</strong>mit ();2021 manager . close ();22 factory . close ();23 }24 }Código Java 3.21: TesteDetached.javaExecute e consulte o banco de dados através do MySQL Workbench!9 Busque um objeto no banco e então desvincule-o através do método detach(). Passe esseobjeto <strong>com</strong>o parâmetro para o método merge() e então altere uma propriedade do objeto devolvido.Faça um sincronização <strong>com</strong> o banco de dados através de uma chamada ao método <strong>com</strong>mit().Crie uma classe chamada TesteMerge dentro de um pacote br.<strong>com</strong>.k19.testes no projeto K19-EntityManager.1 public class TesteMerge {2 public static void main ( String [] args ) {3 EntityManagerFactory factory =4 Persistence . createEntityManagerFactory (" K21_entity_manager_pu ");5 EntityManager manager = factory . createEntityManager ();67 manager . getTransaction (). begin ();89 // OBJETO NO ESTADO MANAGED10 Pessoa p = manager . find ( Pessoa .class , 1L);1112 // OBJETO NO ESTADO DETACHEDwww.k19.<strong>com</strong>.br 49

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

Saved successfully!

Ooh no, something went wrong!