Alguém sabe como o Hibernate trata relações ternárias? Teriam exemplos?
No meu caso tenho um relação ternária da seguinte forma: Usuário tem um nível de acesso em um projeto. Usuário, nível de acesso e projeto são entidades persistentes da aplicação.
Isso me parece um has-one simples. Voce pode ser mais especifico?
bcartaxo
Tem-um?? Acho q não. Se não fossem entidades persistentes e ficassem somente no nível da aplicação eu modelaria usando o seguinte atributo na classe usuário: Map<Projeto, NivelAcesso>. Isso seria um tem-um??? Afinal para cada projeto um usuário tem um e somente um niível de acesso. Em termos de BD eu crio uma tabela em separado assim:
usuario(FK)(PK)
projeto(FK)(PK)
nivelAcesso(FK)
Como faria isso com JPA? O provider é o Hibernate.
pablofaria
Isso seria uma chave composta no banco?
bcartaxo
Sim… seria uma chave composta (id_projeto, id_usuario).
pablofaria
Voce terá que fazer uma classe a parte para a chave composta anotada com @Embeddable