TDSI – Mapeamento objeto relacional (MOR) com JPA – Persistindo

Nos artigos anteriores vimos a criação do arquivo persistence.xml e criação de mapeamentos 1:n e n:1 (OneToMany e ManyToOne).

Gravação dos dados:

Vamos utilizar as classe Depto e Funcionario criados nos posts anteriores.

Nem precisamos dizer que o manager deve ser configurado em algum lugar, antes claro.

Os passos estão em ordem.


   EntityManagerFactory factory =
      Persistence.createEntityManagerFactory("aulahibernate1PU");
     
   EntityManager manager =
      factory.createEntityManager();

Como os objetos Depto e Funcionario usam Sequences (semelhantes a SERIAL) não precisam ser informados os valores das chaves primárias na inclusão.


 Depto depto = new Depto();
 Funcionario func = new Funcionario();

 depto.setNome("DEPTO DE COMPRAS."); 

 /* Um funcionário só pode estar associado a no máximo um Depto */

 func.setNome("OLAVO BILAC");
 func.setDepto(depto);
 func.setNasc(new Date());


 func.setNome("OLAVO BILAC");
 func.setDepto(depto);
 func.setNasc(new Date());
 func.setSalario(724.00);   

Gravando (persistindo) no banco de dados. Primeiro começa uma transação para o manager persistir o objeto no banco, primeiro o Depto depois o Funcionário logo após confirma a transação (commit). Obs: não está sendo tratado exceções ou erros que podem ocorrer e executar o método  rollback().

    manager.getTransaction().begin();
    manager.persist(depto);
    manager.persist(func);
    manager.getTransaction().commit();

Objeto persistido, mas somente os dados.

Esse post foi publicado em TDSI - Tópicos em Desenvolvimento de Sistemas de Informação I e III. Bookmark o link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s