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?