Relacionamentos ISA no hibernate annotations

Olá,

Estou criando um relacionamento entre três tabelas (pessoas IS-A alunos e pessoas IS-A professores), porém quando o hibernate vai gerar as tabelas ele não está gerando uma tabela para cada entidade e sim uma tabela única (pessoas) para todas, colocando os atributos de alunos e professores em pessoas. Gostaria de saber como eu faço para especificar que quero uma tabela para cada entidade.
Pessoa.java

[code]import javax.persistence.*;

@Entity
@Table(name = “pessoas”)
@SequenceGenerator(name = “pessoas_sequence”, sequenceName = “pessoas_id_seq”, allocationSize = 1)
public class Pessoa {

@Id
@Column(name="id", nullable=false)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pessoas_sequence")
protected int id;

@Column(name="nome", nullable=false)
protected String nome;

@Column(name="email", nullable=false)
protected String email;

@Column(name="telefone", nullable=false)
protected String telefone;

@OneToOne(cascade=CascadeType.ALL)
private Endereco end;

public Endereco getEnd() {
	return end;
}

public void setEnd(Endereco end) {
	this.end = end;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

public String getNome() {
	return nome;
}

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

public String getTelefone() {
	return telefone;
}

public void setTelefone(String telefone) {
	this.telefone = telefone;
}

public int getId() {
	return id;
}

private void setId(int id) {
	this.id = id;
}

}
[/code]Professor.java

[code]import java.util.Set;
import javax.persistence.*;

@Entity
@Table(name=“professores”)
@PrimaryKeyJoinColumn(name=“Pessoa.id”)
public class Professor extends Pessoa {

@Column(name="titulo", nullable=false)
private String titulo;

@OneToMany(cascade=CascadeType.ALL)
private Set<Turma> turmas;

public String getTitulo() {
	return titulo;
}

public void setTitulo(String titulo) {
	this.titulo = titulo;
}

}[/code]Aluno.java

[code]import java.util.Set;
import javax.persistence.*;

@Entity
@Table(name=“alunos”)
@PrimaryKeyJoinColumn(name=“Pessoa.id”)
public class Aluno extends Pessoa {

@Column(name="matricula",nullable=false)
private String matricula;

@ManyToMany(cascade=CascadeType.ALL)
private Set<Turma> turmas;

public Set<Turma> getTurmas() {
	return turmas;
}

public void setTurmas(Set<Turma> turmas) {
	this.turmas = turmas;
}

public String getMatricula() {
	return matricula;
}

public void setMatricula(String matricula) {
	this.matricula = matricula;
}

}[/code]

Eu tava seguindo um tutorial do próprio guj, porém nesse tutorial não é usado annotations e sim xml, eu tava tentando adaptar pq não encontrei nenhum tutorial com annotations e na referência do tutorial do hibernate não achei nada q fizesse isso.

Olá,

É preciso definr o tipo de comportamento que o Hibernate deve ter com relacionamentos de herança.

De uma olhada aqui pra ver qual se encaixa no teu problema. Eu acredito que seja table per class.

]['s