Das Konzept für das Eins-zu-Eins-Mapping. Erläutern Sie die Zuordnung

So definieren Sie eineOne-to-One Beziehung zwischen 2 Klassen? Ich denke, ich gehe irgendwo konzeptionell falsch. Ich weiß nicht was, aber es ist.

Nehmen wir an, es gibt zwei Klassen mit dem NamenCountry undPM :

Country
  int c_id
  String name_c

PM
 int c_id
 String name_pm

Jetzt kann es für ein Land nur eine PM geben, und die PM kann nur zu einem Land gehören. Wie mache ich das in meiner Mapping-Datei?

Ich habe Folgendes versucht:

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

Diese Effete-Zuordnung bewirkt jedoch nichts anderes, als zur Laufzeit eine Ausnahme auszulösenname_pm kann nicht in der gefunden werdenCountry klasse! Aber sucht es in derCountry Klasse. Es sollte eher im Internet suchenPM Klasse.

Hilf mir auch, mein Ziel zu erreichenone-to-one Zuordnung zwischen den beiden Klassen. Ich habe das für einige Zeit versucht.

Java Code:

Land

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

}

PM

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

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage