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