0

私は5つのテーブルとそれぞれの列を持っています

大学

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

研究所

  • id_institute (pk)
  • id_country (pk) ---- 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

これらはhbmマッピングです

<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>

外部キーの関係があるので、誰かが休止状態のマッピングを案内してくれますか? 正しいマッピングを取得できません。

4

1 に答える 1

1

テーブルの主キーは複数の列であるため、それらを compositeId としてマップする必要があります

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

IDがそれ自体で一意であることを除いて、それらをIDとしてマップする方が簡単です。参照はこのようにマッピングされます。

<many-to-one name="country" column="id_country" />
于 2012-07-02T05:51:51.953 に答える