2016-08-23 152 views
1

我正在尝试将记录插入到使用休眠的表中。表结构如下复合键的休眠映射

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复合键?

+0

你尝试我的答案? – Apostolos

回答

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;