Mapeamos essas tabelas no hibernate. O objeto Mascara tem
um set de listas (many-to-many, através da tabela MascaraLista). O ojbeto Lista tem um
set de mascaras.(many-to-many, através da tabela MascaraLista)
O objeto Usuario tem um set de mascaraListas(many-to-many, através da tabela
UsuarioMascaraLista).
Temos também o objeto MascaraLista que tem um set de usuarios(many-to-many, através da
tabela UsuarioMascaraLista).
Quando rodo a aplicação dá o seguinte erro:
INFO: net.sf.hibernate.MappingException: Foreign key (UsuarioMascaraLista
[IdMascaraLista])) must have same number of columns as the reference primary key
(MascaraLista [IdMascara,IdLista])
Eu preciso que o objeto MascaraLista exista por causa de como o ator(usuario) interage
com o sistema.
O que o hibernate está fazendo nessa situação?
Como posso resolver esse problema?
Trabalho na mesma empresa que a Evelaine e estamos tentando resolver esse problema juntos.
Uso MySQL e, na minha tabela, não há nenhuma PK definida para esses dois campos. Apenas a PK para IdMascaraLista mesmo.
O mapeamento me parece correto caso as PKs estejam declaradas corretamente.
Pelo que o erro me diz entendi que a pk da classe MascaraLista não é o campo IdMascaraLista como esperado, mas sim uma pk-composta por IdMascara e IdLista.
MascaraLista.hbm.xml está com a pk declarada mais ou menos assim?