我如何在休眠状态下saveOrUpdate,其中更改的字段不是id

时间:2016-05-18 14:48:17

标签: hibernate hibernate-mapping

场景是:

id是生成的标识。我有一个字段“key”(不是id),我需要在saveOrUpdate时检查。如果更改了“密钥”,我需要使用更新的密钥和值更新数据库。所以场景变得像,我想基于特定字段(此处为“key”)更改而不是id值更改来更新数据库。

<class name="Data" table="DATA">
     <id name="id" type="java.lang.Long">
        <column name="id" />
        <generator class="identity" />
    </id>    
    <property name="Key" type="string" not-null="true" index="dedupeKey_Index">
        <column name="Key" length="100" />
    </property>

    <property name="Value" type="string">
        <column name="Value" length="100" />
    </property>

    <property name="insertedDate"
        type="org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime">
        <column name="insertedDate" />
    </property> 


</class>

我怎么能这样做?有没有办法强制让hibernate让我的字段“key”引用saveOrUpdate而不是id !!

我想要制作复合键。但后来我无法为“id”创建一个生成器,这是必需的!!

提前谢谢你们!

0 个答案:

没有答案