2016-08-23 17 views
1

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を教えてください。

+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フィールドを定義することができます。あなたのMyTableクラスの

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

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

と あなたは

private MyCompositeKeyClass id; 
関連する問題