Olá amigos.
Tenho duas tabelas mantendo um relacionamento N:N no meu banco de dados, são elas: CARROS e OPCIONAIS.
A tabela que auxilia o relacionamento eu chamo de CARROS_OPCIONAIS.
CARROS:
CREATE TABLE carros
(
id int4 NOT NULL DEFAULT nextval('seq_carro'::regclass),
nome varchar(50),
CONSTRAINT carros_pkey PRIMARY KEY (id)
)
OPCIONAIS
CREATE TABLE opcional
(
id int4 NOT NULL DEFAULT nextval('seq_opcional'::regclass),
nome varchar(50),
CONSTRAINT opcional_pkey PRIMARY KEY (id)
)
A tabela que faz a associação entre as duas é:
CARROS_OPCIONAIS
CREATE TABLE carros_opcionais
(
idcarro int4,
idopcional int4,
CONSTRAINT carros_opcionais_idcarro_fkey FOREIGN KEY (idcarro)
REFERENCES carros (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT carros_opcionais_idopcional_fkey FOREIGN KEY (idopcional)
REFERENCES opcionais (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Tudo mapeado certinho com o Hibernate 3.2.
Gostaria de saber qual a melhor forma de apagar um objeto da classe Carro, sem contudo, apagar os objetos da classe Opcional? Uma vez que, se eu configurar o mapeamento como cascade=“all” ou coisa parecida, quando eu apago o Carro ele deleta os Opcionais do banco de dados também.
Obrigado
