Oi pessoal.
Estou com algumas duvidas na aplicação que estou desenvolvendo para o meu TCC onde estou utilizando Hibernate.
Primeiramente mostro o meu modelo de dados.
By [URL=http://profile.imageshack.us/user/blv777]blv777[/URL] at 2011-08-28
Então…
agora segue uma classe mapeada…quero dizer duas, pois é com elas que eu vou introduzir minhas duvidas.
[code]package br.edu.usjt.tcc.wcl.model;
import java.io.Serializable;
import javax.persistence.*;
/**
-
Classe que representa a Entidade Sala dentro do sistema.
-
@author Grupo WCL
-
@version 1.0.0
*/
@Entity
@Table(name = “tb_sala”)
public class Sala implements Serializable {private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = “id_sala”, nullable = false)
private Integer id;@Column(name = “num_sala”, nullable = false)
private int numero;@Column(name = “bloco_sala”, nullable = false)
private String bloco;@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = “id_tipo_carteira”, referencedColumnName = “id_tipo_carteira”, nullable = false)
private TipoCarteira tipoCarteira;@Column(name = “capacidade”)
private Integer capacidade;@Column(name = “dimensao_x”, nullable = false)
private Double dimensaoX;@Column(name = “dimensao_y”, nullable = false)
private Double dimensaoY;public Integer getId() {
return id;
}public void setId(Integer id) {
this.id = id;
}public int getNumero() {
return numero;
}public void setNumero(int numero) {
this.numero = numero;
}public String getBloco() {
return bloco;
}public void setBloco(String bloco) {
this.bloco = bloco;
}public Double getDimensaoX() {
return dimensaoX;
}public void setDimensaoX(Double dimensaoX) {
this.dimensaoX = dimensaoX;
}public Double getDimensaoY() {
return dimensaoY;
}public void setDimensaoY(Double dimensaoY) {
this.dimensaoY = dimensaoY;
}public TipoCarteira getTipoCarteira() {
return tipoCarteira;
}public void setTipoCarteira(TipoCarteira tipoCarteira) {
this.tipoCarteira = tipoCarteira;
}public Integer getCapacidade() {
return capacidade;
}public void setCapacidade(Integer capacidade) {
this.capacidade = capacidade;
}
} // fim da classe Sala[/code]
[code]package br.edu.usjt.tcc.wcl.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
-
Classe que representa a Entidade Equipamento dentro do sistema.
-
@author Grupo WCL
-
@version 1.0.0
*/
@Entity
@Table(name = “tb_equipamento”)
public class Equipamento {@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = “id_equipamento”, nullable = false)
private Integer id;@Column(name = “descr_eqpto”, nullable = false)
private String descricao;public Integer getId() {
return id;
}public void setId(Integer id) {
this.id = id;
}public String getDescricao() {
return descricao;
}public void setDescricao(String descricao) {
this.descricao = descricao;
}
} // fim da classe Equipamento[/code]
Vamos para as duvidas agora:
1ª) Vocês podem reparar que eu na tb_sala tenho como chave primaria a composição de num_sala e bloco_sala, mas nos relacionamentos com outras tabelas eu utilizo o atributo id_sala que é um atributo numérico auto incremental unique…uma chave secundaria…tudo certo até então…
Mas eu queria saber se eu fiz o mapeamento no Java corretamente. Vocês poderiam sugerir algo?
2ª) Vocês podem reparar que eu tbm possuo um relacionamento nxm entra sala e equipamento.
Eu não coloquei o banco de dados para ser criado pelo Hibernate, o bd já vai estar criado…como posso fazer o relacionamento corretamente no Hibernate?
São essas minhas duvidas.
Eu agradeço a quem puder me ajudar.