Problema com chaves, utilizando composição

0 respostas
I

Olá!

Tenho uma classe Pessoa definida da seguinte forma:

@Entity
public class Pessoa {

@Id
@SequenceGenerator(name="pessoa_sequence", sequenceName="PESSOA_SEQ", allocationSize=1)
@GeneratedValue(strategy=GenerationType.AUTO, generator="pessoa_sequence")
private long id;
    ...

}

E duas classes que utilizam essa classe Pessoa por composição:

@Entity
public class Cliente {

@Id
private long id;

@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
private Pessoa pessoa;

    ...

}

e

@Entity
public class Funcionario {

@Id
private long id;

@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
private Pessoa pessoa;

    ...

}

Porém se eu criar 2 objetos do tipo Cliente e 1 do tipo Funcionario, vou ter problemas com duplicidade de chaves!

Na verdade eu queria que o a primary key da classe Pessoa fosse tanto a primary key como a foreign key para as classes Funcionario e Cliente!

Isso é possível?

Abraços.

Criado 20 de março de 2008
Respostas 0
Participantes 1