accountNumber
をprimarykey
と設定したAbstractAccount
hbmファイルがあります。私はAccount.hbm.xml
ファイルでこのクラスを拡張しています。このプライマリキーを乗り越えたい場所は、countryCode
とaccountNumber
composite key
です。これどうやってするの?hibernateサブクラスでプライマリキーを上書きする
Abstract.hbm.xmlファイル。
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.*.*.*.AbstractAccount"
abstract="true"
table="ACCOUNT"
lazy="false">
<id name="accountNumber" type="java.lang.String">
<column name="ACCOUNT_NUMBER" length="16" />
<generator class="assigned" />
</id>
<discriminator column="ACCOUNT_TYPE" type="string"/>
................
</class>
</hibernate-mapping>
Account.hbm.xml
<property name="modifiedDate" type="java.util.Date">
<column name="MODIFIED_DATE"/>
</property>
<property name="countryCode" type="java.lang.String">
<column name="COUNTRY_CODE"/>
</property>
...............
</subclass>
私は以下のように複合キーを追加して試してみましたが、それは動作していない
。
<composite-id name="account_country">
<key-property name="countryCode" column="COUNTRY_CODE" />
<key-property name="accountNumber" column="ACCOUNT_NUMBER" />
</composite-id>
あなたAbstract.hbm.xml – Gokul
@Gokulに<結合されたサブクラス>結合されたサブクラス>使用することができますあなたはどのように、より具体的なことができますすることができます私はここで使う。とにかく私は継承構造を変えることはできません。 –