Koncepcja mapowania jeden-do-jednego. Wyjaśnij mapowanie

Jak zdefiniowaćOne-to-One relacja między 2 klasami? Myślę, że gdzieś się mylę, konceptualnie. Nie wiem co, ale tak jest.

Załóżmy, że istnieją dwie klasy nazwaneCountry iPM :

Country
  int c_id
  String name_c

PM
 int c_id
 String name_pm

Teraz dla jednego kraju może być tylko jeden PM, a PM może należeć tylko do jednego kraju. Jak to zrobić w moim pliku mapowania?

Próbowałem tego:

<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="name_pm" />
  </class>

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

Ale to mapowanie efete nie robi niczego poza tworzeniem wyjątku w czasie wykonywania. Mówi o właściwościname_pm nie można znaleźć wewnątrzCountry klasa ! Ale czy przeszukuje wewnątrzCountry klasa. Powinien raczej szukać wewnątrzPM klasa.

Pomóż mi też osiągnąć mojeone-to-one mapowanie między 2 klasami. Próbuję tego od jakiegoś czasu.

Kod Java:

Kraj

    public class Country {
    private int c_id;
    private String name_c;

    public int getC_id() {
        return c_id;
    }

    public void setC_id(int c_id) {
        this.c_id = c_id;
    }

    public String getName_c() {
        return name_c;
    }

    public void setName_c(String name_c) {
        this.name_c = name_c;
    }

}

PO POŁUDNIU

    public class PM {
    private int c_id;
    private String name_pm;

    public int getC_id() {
        return c_id;
    }

    public void setC_id(int c_id) {
        this.c_id = c_id;
    }

    public String getName_pm() {
        return name_pm;
    }

    public void setName_pm(String name_pm) {
        this.name_pm = name_pm;
    }

}

questionAnswers(2)

yourAnswerToTheQuestion