HIBERNATE中的复合键处理

问题描述:

我有一个hbm,它拥有复合键。我能够获取并搜索记录。但是当我试图保存它时会给出错误无效的列索引。 我认为这是作为一个专栏的组合键可以告诉我我如何防止它保存。 在它的pojo中,我为组合键创建了一个静态内部类。 我已经使这个“瞬态”,但它不工作。我甚至去除getter和setter的PK.but休眠抛出异常“无效的列索引” ...........HIBERNATE中的复合键处理

<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中,此错误消息表明您映射同一列两次。检查整个映射中的列名。

+0

我也是作为属性添加的。所以我将其设置为插入false,并且问题解决了。 – Dhruva 2012-04-24 06:01:59