0
@Entity
public class User {
@Id
String user_Name;
@ElementCollection
@CollectionTable(name="userfriendmap")
@MapKeyColumn(name="userName")
@LazyCollection(LazyCollectionOption.FALSE)
Map<String, Friend> friends;
}
@Entity
public class Friend implements Serializable{
@Id
String userName;
}
我使用Hibernate 我有這些實體。一位用戶有一張朋友的地圖。 首先USER1添加FRIEND2到地圖中,然後用戶2添加朋友1到地圖中,然後 USER1添加friend3地圖,但是當用戶3添加朋友1時,我讓mergeUser我有違反約束的錯誤。約束違規合併實體添加地圖時<String,Entity>
的問題是,它創建一個表userfriendmap與3個屬性,但只有兩個是主鍵的一部分,並且它需要的三個。
表userfriendmap有 userName的PK,friends_userName FK,User_user_Name PK FK
我不知道如何解決這個問題。我不知道這是否是正確的我怎麼做表的映射。映射的
這是我的問題的解決方案!非常感謝! – 2014-10-20 10:34:44