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.

45 ENTITY MANAGERTransiçõesUma instância de uma entidade pode mudar de estado. Veremos a seguir as principais transições.New → ManagedUm objeto no estado new passa para o estado managed quando utilizamos o método persist()dos Entity Managers.1 @Entity2 class Pessoa {34 @Id @GeneratedValue5 private Long id;67 private String nome ;89 // GETTERS E SETTERS10 }Código Java 3.6: Pessoa.java1 manager . getTransaction (). begin ();23 Pessoa p = new Pessoa ();4 p. setNome (" Rafael Cosentino ");5 manager . persist ();67 manager . getTransaction (). <strong>com</strong>mit ();Código Java 3.7: Persistindo uma instância de uma entidadeBD → ManagedQuando dados são recuperados do banco de dados, o provedor JPA cria objetos para armazenaressas informações. Esses objetos estarão no estado managed.1 Pessoa p = manager . find ( Pessoa .class , 1L);1 Pessoa p = manager . getReference ( Pessoa .class , 1L);1 Query query = manager . createQuery (" select p from Pessoa p");2 List < Pessoa > lista = query . getResultList ();Managed → DetachedQuando não queremos mais que um objeto no estado managed seja administrado, podemosdesvinculá-lo do seu Entity Manager tornando-o detached. Dessa forma, o conteúdo desse objetonão será mais sincronizado <strong>com</strong> o banco de dados.www.k19.<strong>com</strong>.br 45

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

Saved successfully!

Ooh no, something went wrong!