ras*_*cio 9 hibernate foreign-keys composite-primary-key
我必须使用hibernate并且不太确定如何解决这个问题,我有2个表,其中有一个1..n关系,如下所示:
------- TABLE_A ------- first_id (pk) second_id (pk) [other fields] ------- TABLE_B ------- first_id (pk)(fk TABLE_A.first_id) second_id (pk)(fk TABLE_A.second_id) third_id (pk) [other fields]
如何使用Hibernate管理它?
我不知道如何管理第二个表的主键...
JB *_*zet 16
有一个例子与Hibernate参考文档中的情况完全相似.就在这个例子之前,你会找到解释.这是与您的问题匹配的示例(User是表A,Customer是表B):
@Entity
class Customer {
@EmbeddedId CustomerId id;
boolean preferredCustomer;
@MapsId("userId")
@JoinColumns({
@JoinColumn(name="userfirstname_fk", referencedColumnName="firstName"),
@JoinColumn(name="userlastname_fk", referencedColumnName="lastName")
})
@OneToOne User user;
}
@Embeddable
class CustomerId implements Serializable {
UserId userId;
String customerNumber;
//implements equals and hashCode
}
@Entity
class User {
@EmbeddedId UserId id;
Integer age;
}
@Embeddable
class UserId implements Serializable {
String firstName;
String lastName;
//implements equals and hashCode
}
Run Code Online (Sandbox Code Playgroud)
注意:如果你有这两个表的代理标识符会简单得多.除非你被迫处理遗留架构,否则请自己帮忙并使用代理键.
归档时间: |
|
查看次数: |
26802 次 |
最近记录: |