HIBERNATE中的复合密钥处理

HIBERNATE中的复合密钥处理,hibernate,Hibernate,我有一个hbm,它持有复合键。我能够获取和搜索记录。但当我试图保存它时,会出现错误,即列索引无效。 我想它是把复合键作为一列,你能告诉我如何防止它保存吗。 在它的pojo中,我为复合键创建了一个静态内部类。 我已经做了“暂时的”,但它不工作。我甚至删除了PK的getter和setter,但hibernate抛出异常“INVALID COLUMN INDEX” <composite-id class="com.TRIAL.entity.MOption$ID" mapped="true

我有一个hbm,它持有复合键。我能够获取和搜索记录。但当我试图保存它时,会出现错误,即列索引无效。 我想它是把复合键作为一列,你能告诉我如何防止它保存吗。 在它的pojo中,我为复合键创建了一个静态内部类。 我已经做了“暂时的”,但它不工作。我甚至删除了PK的getter和setter,但hibernate抛出异常“INVALID COLUMN INDEX”

    <composite-id class="com.TRIAL.entity.MOption$ID" mapped="true">
        <key-property name="id" column="OPT_ID" type="java.lang.String" />
        <key-property name="sequence" column="SEQ" type="java.lang.Integer" />
        <key-property name="rBeginDate" column="RC_BEG_TS" type="java.sql.Timestamp" />
        <key-property name="rEndDate" column="RC_END_TS" type="java.sql.Timestamp" />
        <key-property name="rState" column="RC_STAT_C" type="java.lang.String" />
    </composite-id>


在NHibernate中,此错误消息表示您映射了同一列两次。检查整个映射中的列名。

我也将其作为属性添加。所以我将其设置为insert false,问题就解决了。