0

次のものがあります。

<class name="ClassName" entity-name="EntityName1" table="table1" lazy="false">

    <composite-id name="classPK" class="com.....ClassPK">
        <key-property name="ID" column="id" type="integer"/>
    </composite-id>
.....

    <class name="ClassName" entity-name="EntityName2" table="table2" lazy="false">

    <composite-id name="classPK" class="com.....ClassPK">
        <key-property name="ID" column="id" type="integer"/>
    </composite-id>
.....

つまり、2つのテーブルにマップするが、同じクラスを持つ2つのエンティティ。複合IDは、上記のimコードのように使用されます。エンティティEntityName2またはEntityName1がDBからロードされるときに、ClassPKクラスのもう1つのプロパティを初期化するために必要なもの。2つの異なる定数値で初期化する必要があります。たとえば、EntityName1とEntityName2の場合はそれぞれ「value1」とvalue2です。

だから私はtiが次のようなものを書く可能性を持っていたいです

<class name="ClassName" entity-name="EntityName1" table="table" lazy="false">

<composite-id name="classPK" class="com.....ClassPK">
    <key-property name="ID" column="id" type="integer"/>
    <property name="propertyname" formula = "'value1'"/>
</composite-id>

誰かがこれを行う方法を知っていますか?

4

1 に答える 1

0

これが完全に良いアイデアかどうかはわかりませんが、試してみてください

<key-property name="propertyname" formula = "'value1'">
  <column formula="'value1'"/>
</key-property>
于 2012-05-25T06:42:47.627 に答える