我正在尝试使用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 :(得分: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
课程中,您可以定义tradeId
和effectiveDate
字段。
public class MyCompositeKeyClass implements Serializable {
private Integer tradeId;
private Date effectiveDate;
public MyCompositeKeyClass() {
}
// setters, getters
}
并在MyTable
课程中添加字段
private MyCompositeKeyClass id;