Relacional
OneToOne
Explorando a relação entre classes e entidades
Explicação
No relacionamento @OneToOne
(Um-para-Um) uma instância de uma entidade está associada a uma instância de outra entidade.
@OneToOne
Exemplo
Vamos imaginar que sua empresa tem como funcionalidade disponibilizar um limite de crédito para cada um de seus clientes, considerando que após a aprovação do cadastro de cliente, o mesmo já tenha uma configuração de limite de crédito inicialmente de R$ 100,00.
Com base nesta regra de negócio, através da anotação @OneToOne
é possível relacionar a entidade Cliente
a mais nova entidade LimiteCredito
conforme código abaixo:
import jakarta.persistence.*;
@Entity
public class Cliente {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nome;
@OneToOne(cascade = CascadeType.ALL)
private LimiteCredito limiteCredito;
// Lombok ou Getters e Setters
}
Como acontece o relacionamento entre as tabelas das entidades em suas respectivas tabelas? Simples, o JPA irá esperar que a tabela pertecente a entidade
Cliente
tenha uma coluna que represente o atributo id
da entidade LimiteCredito
como coluna no banco de dados.
E automaticamente, na persitência da entidade cliente, uma tentativa de inclusão dos dados de limite de crédito também será realizada.