Mapeamento de chave dupla no Hibernate

2 respostas
L

Colegas,

Tendo o seguinte esquema de relacionamento entre as tabelas (conforme exposto).

Empresa

CdEmpresa Pk
Sequencia pk
Rsocial
Fantasia
Cnpj

Cobranca

CdEmpresa fk
Sequencia fk
Ano pk
Mes pk
Tipo Pk
DtVcto

… no Hibernate, como faço o mapeamento da classe Cobranca à tabela Cobranca, tendo em vista o fato da chave primária ser dupla? Ou seja, o ID fica como?

A configuração será feita via XML.

E como deve ser feito o relacionamento <many-to-one> com a tabela Empresa, tendo em vista, também, o fato da chave primária ser dupla?

Vejam, são 2 campos da tabela cobrança que deve ser vinculado a tabela empresa.

obs. o sistema é legado e não quero correr o risco de ficar criando ID, mesmo porquea especificação não me autoriza a fazer isso.

Grata,
Luciana

2 Respostas

M

Olá,

Usando xml fica assim:

&lt;composite-id&gt;
    		&lt;key-many-to-one name=&quot;chave1&quot;
				class=&quot;classe1&quot;
				column=&quot;chave1&quot; /&gt;
			
    		&lt;key-property name=&quot;chave2&quot; column=&quot;chave2&quot; type=&quot;java.lang.Integer&quot;&gt;&lt;/key-property&gt;
    	&lt;/composite-id&gt;

Aqui eu coloquei uma chave extrangeira só para mostrar que é possível, mas você pode usar só com property-key que funciona perfeitamente.

Abraços,

:okok:

L

Obrigada, Marcos

Ainda não testei… e quanto a segunda parte da pergunta:

“E como deve ser feito o relacionamento <many-to-one> com a tabela Empresa, tendo em vista, também, o fato da chave primária ser dupla?”

Grata,
Lu

Criado 1 de março de 2007
Ultima resposta 2 de mar. de 2007
Respostas 2
Participantes 2