Olá, boa noite.
Apesar de a mais ou menos 1 ano sempre efetuar consultas e na maioria das vezes resolver meus problemas, é a primeira vez que posto no GUJ.
Sou estudante e estou fazendo estágio por uma empresa que está me oferecendo treinamento em JAVA, onde estamos desenvolvendo projeto utilizando Hibernate.
Bom, vamos ao problema, agradeço se alguém puder me ajudar.
Estou mapeando no arquivo “.hbm.xml” as classes do projeto, a Classe Hospedagem recebe da Classe Quarto uma chave composta.
No mapeamento da Classe Quarto está tudo correto, já inseri no banco, tudo certinho, usei composite-id.
Agora, quando tento inserir dados na Tabela Hospedagem, estou com o seguinte erro:
"Foreign key (FKA4FE7D826D3F48AA:TB_HOSPEDAGEM [NR_QUARTO])) must have same number of columns as the referenced primary key (TB_QUARTO [CD_HOTEL,NR_QUARTO])"
O erro parece simples de interpretar, acontece que não estou sabendo mapear a Classe Hospedagem para “receber” a chave-composta de Quarto
Segue os mapeamentos que fiz:
(a chave composta possui CD_HOTEL e NR_QUARTO)
<!-- Quarto -->
<class name="br.com.cubo.beans.Quarto" table="TB_QUARTO">
<composite-id>
<key-many-to-one name="hotel" class="br.com.cubo.beans.Hotel" column="CD_HOTEL" />
<key-property name="nroQuarto" type="integer" column="NR_QUARTO"/>
</composite-id>
<many-to-one name="tipoQuarto" class="br.com.cubo.beans.TipoQuarto" column="CD_TIPO_QUARTO" />
</class>
<!-- Hospedagem -->
<class name="br.com.cubo.beans.Hospedagem" table="TB_HOSPEDAGEM">
<id name="guiaId" type="integer" column="NR_GUIA"><generator class="assigned" /></id>
<many-to-one name="hotel" class="br.com.cubo.beans.Quarto" column="CD_HOTEL" />
<many-to-one name="cliente" class="br.com.cubo.beans.Cliente" column="CD_CLIENTE" />
<many-to-one name="quarto" class="br.com.cubo.beans.Quarto" column="NR_QUARTO" />
<property name="motivo"><column name="DS_MOTIVO_HOSPEDAGEM" /></property>
<property name="dtEntrada"><column name="DT_ENTRADA" /></property>
<property name="dtPrevisaoSaida"><column name="DT_PREVISAO_SAIDA" /></property>
<property name="dtSaida"><column name="DT_SAIDA" /></property>
<property name="diasHospedagem"><column name="QT_DIAS_HOSPEDAGEM" /></property>
<property name="vlrDiaria"><column name="VL_DIARIA" /></property>
<many-to-one name="recepcionista" class="br.com.cubo.beans.Funcionario" column="CD_RECEPCIONISTA" />
</class>
Alguém já teve esse problema ???
Poderia me ajudar ???
Agradeço desde já, espero que essa postagem possa ajudar outros com o mesmo problema.
Até mais.