Criação de tabelas com Hibernate

1 resposta
prog.tiago

Boa noite amigos,

Seguinte, estou tentando criar algumas tabelas usando o próprio Hibernate, no entanto ao invés de criar os relacionamentos, o Hibernate está criando tabelas auxiliares... Não sei se me fiz entender.

Vejam minhas classes:

Aluno

package entidades;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
public class Aluno {

	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	@OneToMany
	private List<Transacoes> transacoes=new ArrayList<Transacoes>();



	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List<Transacoes> getTransacoes() {
		return transacoes;
	}

	public void setTransacoes(List<Transacoes> transacoes) {
		this.transacoes = transacoes;
	}

}

Transacoes

package entidades;

import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

@Entity
public class Transacoes {

	@Id
	@GeneratedValue
	private Long id;
	private BigDecimal valor;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public BigDecimal getValor() {
		return valor;
	}

	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}

}

SalaAula

package entidades;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
public class SalaAula {

	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	@OneToMany
	private List<Aluno> alunos=new ArrayList<Aluno>();

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List<Aluno> getAlunos() {
		return alunos;
	}

	public void setAlunos(List<Aluno> alunos) {
		this.alunos = alunos;
	}

}

Agora vejam as tabelas criadas


aluno
aluno_transacoes
salaaula
salaaula_aluno
transacoes

Não deveria-se criar apenas as três tabelas que referenciam minhas classes?

Obrigado amigos :D

1 Resposta

Hebert_Coelho
Tente trocar na aluno assim

@OneToMany

@JoinColumn(transacao_id)

private List transacoes=new ArrayList();

se funciona, aplique nas outras classes também. [=

Criado 2 de fevereiro de 2012
Ultima resposta 2 de fev. de 2012
Respostas 1
Participantes 2