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