Postado por: jossemaravila | Segunda-feira, 11/Fevereiro/2008

JPA - Relacionamento OneToOne

Um dos relacionamentos relacionais mais comuns é o um para um. Neste post mostrarei como fazer o mapeamento de objetos que relacionam-se desta forma e portanto devem ser persistidos utilizando-se esta estratégia.

Imagine o seguinte cenário: uma pessoa que é representada pela classe Pessoa possui um único endereço aqui representado pela classe Endereço.

Neste cenário temos uma relação de associação entre as classes Pessoa e Endereço e a navegabilidade é unidirecional partindo da classe Pessoa.

Para fazermos tal mapeamento ORM devemos criar as entidades da seguinte maneira:

@Entity
@Table(name = “TB_PESSOA”)
public class Pessoa implements Serializable {
@Id
@GeneratedValue
@Column(name = “ID_PESSOA”)
private long id;

@OneToOne
@JoinColumn(name = “ID_ENDERECO”)
private Item item;
}

@Entity
@Table(name = “TB_ENDERECO”)
public class Endereco implements Serializable {

@Transient
private String logradouro;

@Id
@GeneratedValue
@Column(name = “ID_ENDERECO”, insertable = true, updatable = false)
private long id;
}

Simples né!

Mais detalhes e um exemplo de implementação podem ser obtidos clicando-se aqui.

Respostas

[...] Veja também como fazer o mapeamento de OneToOne. [...]

Deixe uma reposta

Você deve estar logado para postar um comentário.

Categorias