Bom dia meu povo.
Estou estudando o Hibernate e surgiu algumas dúvidas.
Para demonstrar melhor a dúvida irei colocar o Modelo Conceitual e Lógico do meu banco.
Conceitual:
[img]http://desmond.imageshack.us/Himg521/scaled.php?server=521&filename=conceitual.jpg&res=landing[/img]
Lógico:
[img]http://desmond.imageshack.us/Himg339/scaled.php?server=339&filename=logico.jpg&res=landing[/img]
Então para uma melhor armazenamento(evitar campos nulos dentre outros motivos) dos dados será criado três tabelas: Escola, Composicao, EscolaPossuiComposicao. Minha dúvida surge aqui. Como irei mapear essas classes? Tenho apenas duas classes Escola e Composicao. A anotação de Escola para Composicao é ( 1...n) ou seja @OneToMany agora de Composicao para Escola é (0...n) e não sei como fazer.
Na verdade já baixei alguns tutoriais e mesmo assim não fiz o mapeamento correto entre relacionamento de Classes. :(
Se alguém puder mostrar como fica essa mapeamento ficaria muito grato :D , pois com um exemplo real para mim fica mais fácil de compreender como usar.
Segue abaixo as classes Escola e Composicao:
Escola.java
package br.com.matricula.modelo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Escola {
@Id
@GeneratedValue
@Column(name="id_escola")
private long idescola;
private String nomeEscola;
private int inep;
private String Diretor;
public long getIdescola() {
return idescola;
}
public void setIdescola(long idescola) {
this.idescola = idescola;
}
public String getNomeEscola() {
return nomeEscola;
}
public void setNomeEscola(String nomeEscola) {
this.nomeEscola = nomeEscola;
}
public int getInep() {
return inep;
}
public void setInep(int inep) {
this.inep = inep;
}
public String getDiretor() {
return Diretor;
}
public void setDiretor(String diretor) {
Diretor = diretor;
}
}
Composicao.java
package br.com.matricula.modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Composicao {
@Id
@GeneratedValue
private long codigo;
private String composicao;
public long getCodigo() {
return codigo;
}
public void setCodigo(long codigo) {
this.codigo = codigo;
}
public String getComposicao() {
return composicao;
}
public void setComposicao(String composicao) {
this.composicao = composicao;
}
}