复合键

时间:2016-08-23 07:17:08

标签: java hibernate

我正在尝试使用hibernate将记录插入表中。表结构如下所示

CREATE TABLE MYTABLE 
(   
    TRADE_ID NUMBER(18,0) NOT NULL, 
    EFFECTIVE_DATE DATE NOT NULL, 
    AMOUNT BINARY_DOUBLE NOT NULL ENABLE, 
    CREATED_TS TIMESTAMP (6), 
    UPDATED_TS TIMESTAMP (6), 
    CONSTRAINT MYTABLE_PK PRIMARY KEY ("TRADE_ID", "EFFECTIVE_DATE")
) ;

你能帮我解决一下复合键的映射xml吗?

1 个答案:

答案 0 :(得分:1)

mytable.hbm.xml文件中尝试这样的内容。

  <composite-id name="id" class="MyCompositeKeyClass">
     <key-property name="tradeId" column="TRADE_ID" type="integer"/>
     <key-property name="effectiveDate" column="EFFECTIVE_DATE" type="date"/>
  </composite-id>

然后,在MyCompositeKeyClass课程中,您可以定义tradeIdeffectiveDate字段。

public class MyCompositeKeyClass implements Serializable {
   private Integer tradeId;
   private Date effectiveDate;

   public MyCompositeKeyClass() {
   }
   // setters, getters
}

并在MyTable课程中添加字段

private MyCompositeKeyClass id;