Além do Trabalho

JPA – Relacionamento OneToOne

Publicado por: jossemaravila em: Segunda-feira, 11/Fevereiro/2008

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 Endereco endereco;
}

@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.

3 Respostas para "JPA – Relacionamento OneToOne"

private Item item;

Houve um erro deveria ser:

private Endereco endereco;

Obrigado pela observação Paulo.

Deixe uma resposta