JPA - Id GenerationType.IDENTITY + Chave composta

3 respostas
mvargens

Estou com uma dúvida sobre o mapeamento nesse caso:
A tabela alem de ter o Id(Integer) sequencial não poder existir 2 cnpj(varchar) + papel(varchar) iguais. Eu criei uma classe para representar a chave composta com esses 3 campos. O problema é que o id é sequencial e não está aceitando a anotação @Id @GeneratedValue(strategy=GenerationType.IDENTITY)

Tem como fazer isso? Nesse caso não é chave composta? Se não é como digo via JPA que não pode existir dois campos com combinações repetidas?
Valew.

3 Respostas

thiagocg

vc pode adicionar uma restrição de unicidade para as colunas que vc quer q sejam unicas, isso é bem simples de fazer tanto no bd quanto na anotação;

abraço!

mvargens

Não achei nenhum exemplo que mostre como usar unique=true para duas colunas simultaneamente.

mvargens

Consegui usando

Mas não funciona com @MappedSuperclass. Somente se colocado na classe que tem a anotação @Entity, tive que repetir. Não gostei muito disso.
E as colunas envolvidas obviamente não podem aceitar null. Mas… valew.

Criado 22 de setembro de 2009
Ultima resposta 22 de set. de 2009
Respostas 3
Participantes 2