【发布时间】:2014-10-18 20:29:37
【问题描述】:
@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;
}
我使用休眠 我有这些实体。一位用户有一张朋友地图。 首先user1将friend2添加到地图,然后user2将friend1添加到地图, 然后user1将friend3添加到地图中,但是当user3在我进行mergeUser时添加friend1时出现约束违规错误。
问题是它创建了一个表 userfriendmap 有 3 个属性但只有两个是主键的一部分,它需要是它们三个。
表 userfriendmap 有 用户名 PK,friends_userName FK,User_user_Name PK FK
我不知道如何解决这个问题。我不知道我如何为地图制作表格是否正确。
【问题讨论】:
标签: java mysql hibernate jpa map