JPA Auto relacionamento - @OneToMany

2 respostas
T

Buenas tardes pessoas!

Estou precisando fazer um auto relacionamento numa classe, mas não estou entendendo como vou mapear esses objetos.

No momento está da seguinte forma:

@Table ( name = "VW_CHEFIA_FUNCIONARIOS" )
public class ChefeFuncionario extends Funcionario{
    
    public ChefeFuncionario()
    {
        
    }
    
    @Column(name = "MAT_FUNCIONARIO")
    @OneToMany(fetch = FetchType.LAZY, mappedBy="chefe")
    private List < Funcionario > funcionarios;
    
    @Column(name = "MAT_CHEFE")
    @ManyToOne
    private Funcionario chefe;
 }

Acho que vou ter que usar JoinTable, mas não entendo como.

PS: Sou novo em JPA e Hibernate, por favor me ajudem.

2 Respostas

F

Pelo google achei o seguinte: http://gfronza.blogspot.com/2007/08/autorelacionamento-com-hibernate.html. Não sei se está correto.

clunsde

provavelmente deve ser algo parecido com isto

@Entity
@Table(name = "FUNCIONARIOS")
public class Funcionario implements Serializable {

    @ManyToMany
    @JoinTable(name = "FUNCIONARIOS_SUBORDINADOS", joinColumns = @JoinColumn(name = "CD_FUNCIONARIO"), inverseJoinColumns = @JoinColumn(name = "CD_FUNCIONARIO_SUBORDINADO"))
    private List<Funcionario > listaFuncionario;

}
Criado 22 de agosto de 2011
Ultima resposta 22 de ago. de 2011
Respostas 2
Participantes 3