Что я должен упомянуть для атрибута «имя»? Почему эта ошибка проверки?

Я пытаюсь создать отношение one-to-one между классом Country и классом PM. Это xml mapping, который я пытался создать. Но что-то не так с xml, как говорит ошибка.

Attribute "name" is required and must be specified for element type "one-to-one".

Я этого не понимаю. Что я должен упомянуть для атрибута name? Я упомянул класс, с которым я пытаюсь установить отношение один к одному.

<class name="pojo.Country" table="country">
      <id name="c_id">
          <generator class="increment" />
      </id>
      <property name="name_c" />
      <one-to-one class="pojo.PM" />
</class>

<class name="pojo.PM" table="pm">
      <id name="c_id">
          <generator class="increment" />
      </id>
      <property name="name_pm" />
</class>

Есть две таблицы с именами pm и country. Соотношение, которое я пытаюсь установить, заключается в том, что в одной стране может быть один PM, а PM может принадлежать одной стране.


person saplingPro    schedule 21.06.2013    source источник


Ответы (1)


Вы должны указать, к какому атрибуту вы устанавливаете эту связь. Например для страны:

country_id, country_name, country_PM (в котором есть pm_ids)

Попробуй это:

<class name="pojo.Country" table="country">
  <id name="c_id">
      <generator class="increment" />
  </id>
  <property name="name_c" />
  <one-to-one class="pojo.PM" name="pm_id" foreign_key="c_id"/>
</class>

если это не сработает. Попробуйте property-ref вместо атрибута foreign-key

person Tala    schedule 21.06.2013
comment
Если я укажу имя атрибута, я получаю сообщение об ошибке, поскольку он ищет этот атрибут в том же классе, то есть Country, но не внутри PM. Что мне теперь делать ? - person saplingPro; 21.06.2013
comment
пожалуйста, посмотрите мой отредактированный ответ: вы должны определить атрибут столбца, чтобы указать, где связать - person Tala; 21.06.2013
comment
куда добавить атрибут column? Тег one-to-one не принимает атрибут column? - person saplingPro; 22.06.2013
comment
нашел в документах. см. здесь документы .jboss.org/hibernate/core/3.6/reference/en-US/html/ - person Tala; 22.06.2013