Nesse exemplo, temos uma entidade "Pessoa" que possui um relacionamento um-para-um com a entidade "Endereco". A anotação @OneToOne indica esse relacionamento, enquanto a anotação @JoinColumn especifica a coluna "endereco_id" que será usada para fazer a junção entre as tabelas.
@Entity
public class Pessoa {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String nome;
@OneToOne
@JoinColumn(name = "endereco_id")
private Endereco endereco;
// getters e setters
}
@Entity
public class Endereco {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String rua;
@Column
private String cidade;
// getters e setters
}