我有一个用户实体。用户将拥有一个朋友列表。我在为此映射列表创建批处理时遇到问题。我希望电路板看起来像这样https://zapodaj.net/41cd4553308d3.png.html第一列是用户ID,第二列是朋友的ID。我正在考虑这样做
@ElementCollection
@CollectionTable(
name = "users_friends",
joinColumns = @JoinColumn(name = "user_id", nullable = false, updatable = false)
)
@Column(name = "user_friend_id")
private Set<UserEntity> friends;
但是ElementCollection
没有映射实体,这种方式消失了。
如何创建这样一个特殊的表来将用户映射到朋友列表?
答案 0 :(得分:0)
这是一种多对多的关系。 JPA支持它们没问题https://en.wikibooks.org/wiki/Java_Persistence/ManyToMany
在你的情况下做
@ManyToMany
@JoinTable(
name="users_friends",
joinColumns=@JoinColumn(name="user_id", referencedColumnName="id"),
inverseJoinColumns=@JoinColumn(name="user_friend_id", referencedColumnName="id"))
private List<UserEntity> friends;
应该做的伎俩