table materiais
COD_MATERIAL PK
COD_CLAS_MAT_GRP FK
COD_CLAS_MAT_SGP FK
COD_CLAS_MAT_SSG FK
como mapear essa chave tripla usando hibernate annotations e depois como eu faço para mapear o relacionamento, sendo que uma classe_mat tem varios materiais, e um materia só pode está em uma classe_mat?
obs: olhe os exemplos da documentação, só que para mapear chave multipla tem que ter uma outra classe com os atributos da pk, achei um negocio meio sem sentido.
E sobre o relacionamento desse tipo não encontrei nada na documentacao.
É eu consegui fazer la no trabalho, mas achei uma solução muito tosca, parece armengue.
criei uma classe, com os campos do id e deixei ela como @Emb…
E depois na classe concreta mesmo, eu botei um atributo da classe que eu criei com os atributos id, e declarei com a annotation @id. porém é muito feio isso, para acessar a @id tem um passo a +, até o entendimento não fica muito claro.
E sobre a foreing key, é só declarar varios joincolumn dentro de um joincolumns.
Sim, qual o bug que é para votar? afinal isso é um bug ou falta de funcionalidade?
Uma solução interessante é usar o recurso de reverse engineering do Hibernate tools, que gera automaticamente as classes anotadas e também as classes de Id quando necessário.
Alguns consideram um bug, outros simplesmente falta da funcionalidade mesmo. Eu considero bug, por que mesmo não suportando múltiplas anotações “@Id”, ele não lança nenhuma exceção quando está lendo a classe
opa plentz obrigado pelas dicas, vou votar lá sim.
Sobre o hibernate tools eu conheco, porém como estou usando o hibernate anotations pela primeira vez eu prefiro não usa-lo para primeiro aprender manualmente.