3
我是Java和Hibernate的新手。我有組合鍵的問題。我試圖做這樣的事情:具有非原始屬性的複合主鍵
@Entity
class A {
@Id
int id;
}
@Entity
class B {
@Id
int id;
}
@Entity
class C {
@EmbeddedId
C_PK c_pk;
}
@Embeddable
class C_PK {
A a;
B b;
}
當我執行
...
session.save(c);
...
然後拋出異常是A型和B不能插入到數據庫中。是否有可能以某種方式告訴hibernate不保存A對象,而只保存A ID?我的方法是絕對錯誤的,我應該在C_PK類中使用原始數據類型嗎?
請閱讀第2.2.3.2節 - http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#d0e2177。 「雖然在JPA中不支持,但Hibernate允許您將關聯直接放置在嵌入式ID組件中(而不必使用@MapsId註釋)。」 – gkamal
對不起,我錯了,它真的看起來不合適。一旦你編輯答案,我會恢復不公正的投票。 – MaDa