Ich habe ein Problem im 1: 1-Hibernate-Mapping. Viel gegoogelt, aber nicht gelöst.Hibernate-Eins-zu-eins-Zuordnung
Hier Datenbank
http://www.freeimagehosting.net/newuploads/55avs.png
Nach meiner Modellklassen sind.
public class User {
private int userId;
private String userName;
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
und
public class Address {
private int addrId;
private String addr;
public int getAddrId() {
return addrId;
}
public void setAddrId(int addrId) {
this.addrId = addrId;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
user.hbm.xml ist wie folgt:
<class name="User" table="users" schema="dbo" catalog="test">
<id name="userId" type="int" column="userId" >
<generator class="assigned"/>
</id>
<property name="userName">
<column name="userName" />
</property>
<one-to-one name="address" property-ref="addrId" class="Address" cascade="all" />
</class>
address.hbm.xml wie unten,
<class name="ammar.Address" table="Address" schema="dbo" catalog="test">
<id name="addrId" type="int" column="AddrID" >
<generator class="assigned"/>
</id>
<property name="addr">
<column name="Addr" />
</property>
</class>
Auf ausgeführt wird, folgende Ausnahme auftritt:
Ausnahme in Thread "Haupt" org.hibernate.HibernateException: Eigenschaft kann nicht aufgelöst werden: addrId
läuft gut ohne Zuordnung. Sie können Datensätze jedoch nicht abrufen, wenn das Mapping angewendet wurde.
Die Abfrage von Hibernate läuft einwandfrei in DB.
Sie müssen weitere Details angeben. Getter und Setter für addrId, die Mapping-Datei für Address, die Sql-Struktur für beide. – Jim
Ich bearbeitet, um Details zur Verfügung zu stellen, wie Sie gesagt haben. – Ammar