Srs.
É até difícil explicar, mas vou tentar.
Tenha uma tabela cuja chave primária é composta de 6 campos. Sendo que 3 desses campos são chave estrangeira de uma outra tabela, e os outros 3 são também chave-estrangeira da mesma tabela.
Exemplo:
tbl1 {
id1, id2, id3,
chave primaria (id1, id2, id3)}
tbl2 {
id1 faz referência a tbl1.id1;
id2 faz referência a tbl1.id2;
id3 faz referência a tbl1.id3;
id4 faz referência a tbl1.id1;
id5 faz referência a tbl1.id2;
id6 faz referência a tbl1.id3;
chave primaria(id1, id2, id3, id4, id5, id6)
}
Tentei mapear as duas chaves estrangeiras assim:
<many-to-one name="name1" class="tbl1" not-null="true">
<column name="id1"/>
<column name="id2"/>
<column name="id3"/>
</many-to-one>
<many-to-one name="name2" class="tbl1" not-null="true">
<column name="id4"/>
<column name="id5"/>
<column name="id6"/>
</many-to-one>
Mas o hibernate reclama que a chave estrangeira id4 não tem o mesmo número de campos da chave primária.
Não sei se ficou claro. Mas alguém sabe como mapear um chave estrangeira composta dupla?