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 时,需要它来初始化 ClassPK 类中的另一个属性。我需要用 2 个不同的常量值来初始化它。例如,EntityName1 和 EntityName2 分别为“value1”和 value2。

所以我想有可能写一些类似的东西

<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 回答