Você está aqui: JPA - Java Persistence Architecture API - Arquitetura de Persistência Java ::: Interfaces, Classes e Componentes ::: EntityManager |
Atualizando um registro em uma tabela do banco de dados usando o método merge() da interface EntityManagerQuantidade de visualizações: 8370 vezes |
O método merge() da interface EntityManager é usado quando precisamos atualizar uma entidade no contexto de persistência do JPA. Este método possui a seguinte assinatura:<T> T merge(T entity) ...... O método recebe como parâmetro a instância a ser atualizada e retorna a instância já atualizada. Veja um exemplo: package estudosjpa; import entidades.Cliente; import java.util.Date; import javax.persistence.*; public class EstudosJPA { public static void main(String[] args) { // vamos criar o EntityManagerFactory a partir do contexto de persistência EntityManagerFactory emf = Persistence.createEntityManagerFactory("LocadoraService"); // vamos obter um objeto da interface EntityManager EntityManager em = emf.createEntityManager(); // vamos obter o cliente com o id 4 Cliente c = em.find(Cliente.class, 4); // o cliente foi encontrado? vamos atualizar seus dados, menos o id if(c != null){ c.setNome("Roberto Carlos Augusto"); ...... Quando executamos este código, o log do EclipseLink mostrará os seguintes comandos SQL: --SELECT ID, data_cadastro, EMAIL, NOME FROM clientes WHERE (ID = ?) bind => [4] --UPDATE clientes SET data_cadastro = ?, EMAIL = ?, NOME = ? WHERE (ID = ?) ...... Observe que o método merge() pode disparar uma exceção do tipo IllegalArgumentException se a instância não for uma entidade ou for uma entidade fora do contexto de persistência. Uma exceção TransactionRequiredException poderá ser disparada se o método merge() for chamado em um gerenciador de entidades controlado por um contâiner (container-managed entity manager) do tipo PersistenceContextType.TRANSACTION e não houver transação ativa. |
![]() |
Veja mais Dicas e truques de JPA - Java Persistence Architecture API - Arquitetura de Persistência Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |