2016-08-23 237 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;