1
resposta

Associação Movimentação - Conta

Quando queremos testar os relacionamentos entre entidades, precisamos criar um objeto Conta para associar este a uma movimentação.

No entanto, ainda não ficou claro como isto é feito e por que precisamos passar apenas o ID para criar uma associação Movimentação - Conta.

Conta conta = new Conta();
conta.setId(2L);

Setando apenas o Id no objeto conta, consigo criar esta associação?

Pelo que foi entendido, a JPA pega no banco de dados, na tabela Conta, o registro cujo Id = 2. Mas como isto é feito? Ainda não ficou claro como esta busca é feita, criando-se um objeto Conta e setando seu Id. Se é feito desta forma, acredito então, que existe uma forma melhor de trazer do banco este registro inteiro (objeto conta com todos os atributos setados) por meio do método find(Conta.class, 2) e depois setar no objeto movimentacao.

Conta conta = em.find(Conta.class, 2);
Movimentacao movimentacao = new Movimentacao();
movimentacao.setConta(conta);
    ...

Poderiam tirar esta dúvida, por favor?

1 resposta

Olá, Erica! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Na aula 04 acredito que tem um bom entendimento sobre associar a conta passando somente o ID.

Veja que ao criar a conta e setar o ID como 1L, associamos essa conta chamando o setda Classe Clienteatravés do cliente.setConta(conta)

        Conta conta = new Conta();
        conta.setId(1L);

        Cliente cliente = new Cliente();
        cliente.setNome("João");
        cliente.setEndereco("Rua contramao, 15");
        cliente.setProfissao("Programador");
        cliente.setConta(conta);

E depois damos início ao persist e demais comandos

        em.getTransaction().begin();
        em.persist(cliente);
        em.getTransaction().commit();
        em.close();        

Na Classe Clientecolocamos o @JoinColumn(unique = true)para que só possa ter um Cliente associado a Conta

    @JoinColumn(unique = true)
    @OneToOne
    private Conta conta;

Sobre uma maneira melhor, temos um curso atualizado chamado Java e JPA: Pesquisa com JPQL e Criteria que vai dar continuidade e esse primeiro curso com novas funcionalidades.

Vale dar uma conferida!

A sua solução foi bem parecida com a realizada na aula!

Perfeito, Erica!

Um abraço e bons estudos!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software