休止状態の 1 対 1 マッピングで問題に直面しています。たくさんググったが解決できなかった。
データベースはこちら
以下は私のモデルクラスです。
パブリック クラス ユーザー {
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;
}
}
と
パブリック クラス アドレス {
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は次のとおりです。
<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 は次のとおりです。
<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>
実行時に、次の例外が発生します。
スレッド「メイン」org.hibernate.HibernateException での例外: プロパティを解決できません: addrId
マッピングなしで正常に実行されます。ただし、マッピングが適用されるとレコードを取得できません。
休止状態によって出力されたクエリは、DB で完全に正常に実行されます。