Mapeamento chave composta com mesmo nome de coluna

1 resposta
RicardoYukito

Pessoal, tenho o seguinte caso.
Tabelas : Grupo , SubGrupo , Produto.

Grupo tem o id apenas.
A chave do subGrupo é codigo + Grupo(composta).

E meu produto esta relacionado com o Grupo, e com o Subgrupo.
porque? Porque hora ele pode ter um grupo, sem ter o subgrupo. e se tiver o subgrupo, deve ser o grupo do subgrupo.

entao no produto fica assim.

@ManyToOne
	@JoinColumn(name  = "grupo_produto")
	@ForeignKey(name  = "produto_grupo_fk")
	private GrupoProduto grupoProduto;
	
	@ManyToOne
	@JoinColumns({ 
		@JoinColumn(name="grupo_produto",insertable = false, updatable = false),
		@JoinColumn (name  = "subgrupo_produto" , insertable = false, updatable = false)		
	})
	@ForeignKey(name  = "produto_subgrupo_fk")
	private SubgrupoProduto subGrupoProduto;

acontece que o subgrupo nao e persistido devido ao ,insertable = false, updatable = false quando salvo o produto.
e se coloco true, é lançado uma execeção dizendo que deve ser false.

alguem ja passou por isso?

1 Resposta

drsmachado

Criar uma coluna que permita controlar o id como PK da tabela de relacionamento é impossível por que?

Criado 7 de agosto de 2012
Ultima resposta 8 de ago. de 2012
Respostas 1
Participantes 2