Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Spring Boot + JPA

Boa Noite Srs.

Tenho a seguinte estrutura:

@Entity
class Pessoa(){
    @Id
    Long id;
    String nome;

    @ManyToOne 
    @JoinColumn(id da Endereco)
    Endereco endereco;

    //gt and st
}

@Entity
class Endereco(){
    Long id;
    String descricao;
    int numero;

    //gt and st
}

Para cada POST na Endereço, será gerado o id. Até aqui perfeito.

( POST para Endereco )
{
 "descricao" : "rua 1",
 "numero" :1
}

Agora para realizar a persistência da Pessoa, passo o objeto Pessoa que por sua vez possui o Endereco.id

( POST para Pessoa )
{
 "nome" : "Joao da Silva",
 "endereco" :1
}

Agora, qual configuração correta para que este cenário ao chamar o repository.save(pessoa); faça a persistência da pessoa e o id da endereço no banco de dados?

3 respostas

POST para Pessoa

{
    "id": 54,
    "nome": "Carlos",
    "endereco": {
        "id": 1,
        "descricao": "Rua tal",
        "numero": 2
    }
}

Otávio beleza?

Obrigado pela resposta, porém eu terei somente o id do endereço e passando o json somente com o id. Como tenho que fazer ou configurar pra deserializar esse objeto endereço e salvar o id do endereço na tabela pessoa junto com as informações da pessoa?

solução!

Bom dia!

Resolvi o problema passando o json no seguinte formato:

{
    "id": 54,
    "nome": "Carlos",
    "endereco": [{ "id": 1}]
}

Desta forma ele popula minha tabela pessoa:

id   | nome      | id_endereco    |
54    | Carlos    | 1              |

Está correto ou existe outra forma de realizar esse relacionamento entre as tabelas?

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