Duvidas com o Hibernate

2 respostas
BLV_DOOM_JAVA

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.

[IMG]http://img827.imageshack.us/img827/1926/diagramadedadosfisicoim.png[/IMG]
By blv777 at 2011-08-28

Então...
agora segue uma classe mapeada...quero dizer duas, pois é com elas que eu vou introduzir minhas duvidas.

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
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

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.

2 Respostas

romarcio

Você pode fazer o contrário também. Se já tem o banco pronto, gere automaticamente as classes através do banco. o Netbeans e o Idea fazem isso, o Eclipse deve fazer também, mas não tenho certeza.

BLV_DOOM_JAVA

Você pode fazer o contrário também. Se já tem o banco pronto, gere automaticamente as classes através do banco. o Netbeans e o Idea fazem isso, o Eclipse deve fazer também, mas não tenho certeza.

Vou dar uma olhada nisso…
Obrigado.

Quem mais puder opinar e tal, é bem vindo, eu sou novo com Hibernate.

Criado 28 de agosto de 2011
Ultima resposta 28 de ago. de 2011
Respostas 2
Participantes 2