Pessoal,
Como ficariam as anotações das seguintes tabelas:
create table produto(
id int,
descricao varchar
);
CREATE TABLE produto_relacao
(
id_pai int,
id_filho int,
cardinalidade real,
CONSTRAINT produto_relacao_pk PRIMARY KEY (id_pai, id_filho),
CONSTRAINT id_filho_fk FOREIGN KEY (id_filho) REFERENCES produto (id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT id_pai_fk FOREIGN KEY (id_pai) REFERENCES produto (id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE
)
O que eu tenho até agora é:
@Table(name="produto")
public class Produto {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String codigo;
}
e
@Entity
@Table(name="produtoRelacao")
public class ProdutoRelacao {
@Id
private Produto produtoPai;
@Id
private Produto produtoFilho;
private double cardinalidade;
}
A particularidade desse caso é que eu quero mapear a relação entre objetos da mesma entidade, e não entre duas entidades diferentes.
Alguem tem alguma dica?
Ah, e eu gostaria de ter um produto e acessar e setar seus filhos e suas cardinalidades.
Abraços.