Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Entidades com Embeddable - quais preciso criar no repository?

Olá,

tenho a entidade Cliente com @Embedded:

@Entity
@Table(name = "clientes")
public class Cliente {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    @Embedded
    private DadosPessoais dadosPessoais;

    public Cliente() {

    }

    public Cliente(String nome, String cpf) {
        this.dadosPessoais = new DadosPessoais(nome, cpf);
    }

    public String getNome() {
        return dadosPessoais.getNome();
    }    
    public String getCpf() {
        return dadosPessoais.getCpf();
    }



    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public DadosPessoais getDadosPessoais() {
        return dadosPessoais;
    }

}

e a entidade DadosPessoais com @Embeddable:

@Embeddable
public class DadosPessoais implements Serializable {

    private String nome; 
    private String cpf;

    public DadosPessoais() {

    }

    public DadosPessoais(String nome, String cpf) {
        this.nome = nome;
        this.cpf = cpf;
    }

    public String getNome() {
        return nome;
    }

    public String getCpf() {
        return cpf;
    }

}

a minha dúvida é: quais da entidades preciso criar no repository? só a entidade Cliente, só a DadosPessoais, ou as duas?

valeu! obrigado.

1 resposta
solução!

Somente o Repository de cliente, pois dados pessoais faz parte de cliente, da forma como você modelou os dados pessoais vão para a mesma tabela de cliente, a única diferença é que está serapado em classes distintas, mas pertence única e exclusivamente à cliente.