2012-07-02 3 views
0

У меня есть пять таблиц и их соответствующие колонкиПравильное Hibernate отображение

университета

- id_university (pk) 
    - id_country (pk) ---- FK ---- country.id_country 
    - univ_code 
    - univ_name 
    - id_update FK ---- update.id_update 

институт

  • id_institute (рк)
  • id_country (рк) - --- FK ---- country.id_country
  • id_univ
  • id_address FK ---- update.id_update

адрес

- id_address 
    - id_country (pk) ---- FK ---- country.id_country 
    - addressfield 

страна

- id_country 

обновления

- id_update 
     id_country (pk) ---- FK ---- country.id_country 

Это НВМ отображения

<class name="xxxxxx" table="university"> 
     <id name="id_university " column="id_university "> 
      <generator class="increment" /> 
     </id> 

     <property name="id_country "> 
      <column name="id_country " /> 
     </property> 
     <property name="univ_code"> 
      <column name="univ_code" /> 
     </property> 
     <property name="univ_name"> 
      <column name="univ_name" /> 
     </property> 
     <property name="id_update"> 
      <column name="id_update" /> 
     </property> 
</class> 



<class name="xxxxxx" table="institute"> 
     <id name="id_institute " column="id_institute "> 
      <generator class="increment" /> 
     </id> 

     <property name="id_country "> 
      <column name="id_country " /> 
     </property> 
     <property name="id_univ"> 
      <column name="id_univ" /> 
     </property> 
     <property name="id_address"> 
      <column name="id_address" /> 
     </property> 
     <property name="id_update"> 
      <column name="id_update" /> 
     </property> 
</class> 

<class name="xxxxxx" table="address"> 
     <id name="id_address " column="id_address "> 
      <generator class="increment" /> 
     </id> 

     <property name="id_country "> 
      <column name="id_country " /> 
     </property> 
     <property name="addressfield"> 
      <column name="addressfield" /> 
     </property> 
</class> 


<class name="xxxxxx" table="address"> 
     <id name="id_address " column="id_address "> 
      <generator class="increment" /> 
     </id> 

     <property name="id_country "> 
      <column name="id_country " /> 
     </property> 
     <property name="addressfield"> 
      <column name="addressfield" /> 
     </property> 
</class> 

Как есть иностранные ключевые отношения, может кто-то наставит меня с отображением гибернации. Я не могу получить правильное отображение.

ответ

1

поскольку примар ключ таблиц более чем одного столбца, необходимо сопоставить их compositeId

<composite-id> 
    <key-property name="id" column="id_university" /> 
    <key-reference name="country" column="id_country" /> 
</id> 

кроме идентификаторами уникальны сами по себе, то было бы легче все вокруг, чтобы отобразить их как Я бы. Ссылки отображаются таким образом.

<many-to-one name="country" column="id_country" /> 

 Смежные вопросы

  • Нет связанных вопросов^_^