Boa Tarde pessoal, estou com umas dúvidas referente ao relacionamento de tabelas no Hibernate, minha dúvida é o seguinte. Estou fazendo um sisteminha bem simples Bancário.
Possuo um Banco e uma Agencia, onde um Banco pode ter várias Agencias e uma Agencia apenas um Banco, assim como que ficaria as classes?
Eu fiz assim mas não sei se tá certo.
[code]import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = “dbo.Banco”)
public class Banco {
@Id
private int numeroBanco;
private String nomeBanco;
public Banco(int numeroBanco, String nomeBanco) {
	this.numeroBanco = numeroBanco;
	this.nomeBanco = nomeBanco;
}
public int getNumeroBanco() {
	return numeroBanco;
}
public void setNumeroBanco(int numeroBanco) {
	this.numeroBanco = numeroBanco;
}
public String getNomeBanco() {
	return nomeBanco;
}
public void setNomeBanco(String nomeBanco) {
	this.nomeBanco = nomeBanco;
}	
}
[/code]
[code]package Modelo;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
@Entity
@Table(name = “dbo.agencia”)
public class Agencia {
@Id
private int numeroAgencia;
private String cidade;
private String estado;
@OneToMany(mappedBy=“Banco”)
@Cascade(CascadeType.ALL)
private Banco banco;
public Agencia(){
	
}
public Agencia(int numeroAgencia, String cidade, String estado, Banco banco) {
	this.numeroAgencia = numeroAgencia;
	this.cidade = cidade;
	this.estado = estado;
	this.banco = banco;
}
public int getNumeroAgencia() {
	return numeroAgencia;
}
public void setNumeroAgencia(int numeroAgencia) {
	this.numeroAgencia = numeroAgencia;
}
public String getCidade() {
	return cidade;
}
public void setCidade(String cidade) {
	this.cidade = cidade;
}
public String getEstado() {
	return estado;
}
public void setEstado(String estado) {
	this.estado = estado;
}
public Banco getBanco() {
	return banco;
}
public void setBanco(Banco banco) {
	this.banco = banco;
}
}
[/code]
Como que ficaria o relacionamento.
Obrigado.
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Assim ficaria mais correto:
@Entity  
@Table(name = "dbo.Banco")  
public class Banco {
  @OneToMany(mappedBy="banco")
  private List<Agencia> agencias;
 //resto dos métodos e atributos
} 
@Entity  
@Table(name = "dbo.agencia")  
public class Agencia {  
    @ManyToOne
    @JoinColumn(name="id_banco")
    private Banco banco;      
    //resto dos métodos e atributos
}
O possuidor do relacionamento deve ser a entidade que tem muitos…
Abraços…
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Ao ececutar a classe Banco ele dá um erro.
[code]package Modelo;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = “dbo.Banco”)
public class Banco {
@Id
private int numeroBanco;
private String nomeBanco;
@OneToMany(mappedBy="dbo.banco")   
private List<Agencia> agencias;
public List<Agencia> getAgencias() {
	return agencias;
}
public void setAgencias(List<Agencia> agencias) {
	this.agencias = agencias;
}
public String getNomeBanco() {
	return nomeBanco;
}
public void setNomeBanco(String nomeBanco) {
	this.nomeBanco = nomeBanco;
}
public Banco(int numeroBanco, String nomeBanco) {
	this.numeroBanco = numeroBanco;
	this.nomeBanco = nomeBanco;
}
public int getNumeroBanco() {
	return numeroBanco;
}
public void setNumeroBanco(int numeroBanco) {
	this.numeroBanco = numeroBanco;
}	
}[/code]
[code]package Modelo;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name = “dbo.agencia”)
public class Agencia {
@Id
private int numeroAgencia;
private String cidade;
private String estado;
@ManyToOne
@JoinColumn(name=“numeroBanco”)
private Banco banco;
public Agencia(){
	
}
public Agencia(int numeroAgencia, String cidade, String estado, Banco banco) {
	this.numeroAgencia = numeroAgencia;
	this.cidade = cidade;
	this.estado = estado;
	this.banco = banco;
}
public int getNumeroAgencia() {
	return numeroAgencia;
}
public void setNumeroAgencia(int numeroAgencia) {
	this.numeroAgencia = numeroAgencia;
}
public String getCidade() {
	return cidade;
}
public void setCidade(String cidade) {
	this.cidade = cidade;
}
public String getEstado() {
	return estado;
}
public void setEstado(String estado) {
	this.estado = estado;
}
public Banco getBanco() {
	return banco;
}
public void setBanco(Banco banco) {
	this.banco = banco;
}
}[/code]
[quote]Exception in thread “main” java.lang.ExceptionInInitializerError
at Visao.Main.main(Main.java:13)
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: Modelo.Banco.agencias[Modelo.Agencia][/quote]
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Como está seu hibernate.cfg.xml ? Esta entidade está declarada lá ?? Pode ser esse o seu problema…
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Eu uso o hibernate.properties, o acesso ao banco de dados está normal, só dá problema quando coloco esses relacionamentos, na classe banco mesmo eu adicionei vários sem problema no banco de dados antes de fazer o relacionamento.
hibernate.dialect org.hibernate.dialect.SQLServerDialect
hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver
hibernate.connection.url jdbc:sqlserver://douglastc-note;databaseName=Java
hibernate.connection.username sa
hibernate.connection.password 3299
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Poste aí suas classes… Onde você cria seu SessionFactory, onde você faz a persistência, a classe onde deu este erro…para ficar mais fácil do pessoal te ajudar…