Mapeamentos no Hibernate

3 respostas
J

Olá pessoal do fórum...
Tenho estudado o Hibernate e como todo iniciante, comecei com exemplos simples, pra aprender as configurações
básicas como anotações, arquivo de configurações e etc. No exemplos que estudei não existia a necessidade de mapear
chaves estrangeiras,e agora quero começar a usar esse conceito no Hibernate. Vamos ao um exemplo simples:

Tenho duas entidades: Registro e Loja. Cada Registro só pode ter uma Loja, mas a mesma
Loja pode está em N Registros.

@Entity
public class Loja {

	@Id
	@GeneratedValue
	private int id_loja;
	
	private String nome;
        //getters e setters de Loja
}

@Entity
public class Registro {

	@Id
	@GeneratedValue
	private int id_registro;

        //O que colocar aqui para mapear a Loja
        //um int que recebe a chave da Loja??
        //um objeto do tipo Loja??

}

Grato desde já.

Jonh

3 Respostas

AlexandreGama

Olá jonhzihnhoOo !

Não seria o caso de você trabalhar com as anotações @ManyToOne e @OneToMany do Hibernate?

Até mais!

J

o recomendado eh vc fazer eh criar uma colecao de Registros em Loja com o @OneToMany
ja em registro faz a @ManyToOne e cria um objeto do tipo Loja
Entendeu?

pablouu

O que o jperondi quis dizer seria algo assim:

@Entity  
 public class Loja {  
   
     @Id  
     @GeneratedValue  
     private Integer id;  
       
     private String nome;

     @OneToMany
     private List<Registro> registros;

 }  
   
 @Entity  
 public class Registro {  
   
     @Id  
     @GeneratedValue  
     private Integer id;  
   
     @ManyToOne
     private Loja loja; 
   
}

tenta aí e posta o resultado.
dica: campos id procure sempre utilizar as classes wrappers como Integer ou Long pois elas não possuem um valor default, caso o registro não exista ficaram como null.
talvez seja necessario usar o mappedBy

Criado 24 de outubro de 2010
Ultima resposta 27 de out. de 2010
Respostas 3
Participantes 4