Relacionamento one To one - Hibernate

1 resposta
skekeu

Fala ae galera blz...??

Estou começando com hibernate....e pintou uma duvida.

O relacionamento abaixo entre cliente e endereço esta correto???

Cliente

package modelo;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import javax.persistence.*;

@Entity()
@Table(name="cliente")

public class Cliente extends org.apache.struts.action.ActionForm {
   
  @Id
  @GeneratedValue(strategy=GenerationType.AUTO)
  @Column()
   private int cliente_cod;
  @Column() 
   private String razao;
   @Column()
   private String cnpj;
   @Column()
   private String tel1;
   @Column()
   private String tel2;
   @Column()
   private String fax;
   @Column()
   private String email;
   @OneToOne(cascade=CascadeType.ALL)
   @JoinColumn(name="endereco_cod")
   private Endereco endereco;
//getters e setters

Endereco

package modelo;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import javax.persistence.*;

@Entity()
@Table(name="endereco")        

public class Endereco extends org.apache.struts.action.ActionForm {
    
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column()
    private int endereco_cod;
    @Column()
    private String logadouro;
    @Column()
    private String numero;
    @Column()
    private String bairro;
    @Column()
    private String cidade;
    @Column()
    private String estado;
    @Column()
    private String cep;
//getters e setters

1 Resposta

A

Acredito que esse relacionamento não seja “um para um (OneToOne)” e sim “Muitos para um (ManyToOne)”.

Porque.
O endereco_cod pode existir em outros clientes. Se esse código não será exclusivo desse registro você terá que usar “ManyToOne” ou “OneToMany”, dependendo do lado do relacionamento que você esteja vendo.

Criado 24 de julho de 2009
Ultima resposta 24 de jul. de 2009
Respostas 1
Participantes 2