gpt4 book ai didi

java - 如何创建具有两个映射字段的单独表?

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:23 25 4
gpt4 key购买 nike

我有一个用户实体。用户将有一个 friend 列表。我在创建此映射列表的批处理时遇到问题。我希望董事会看起来像这样 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 不会映射实体,这种方式就会消失。

如何创建这样一个特殊的表来将用户与 friend 列表进行映射?

最佳答案

这是多对多关系。 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;

应该可以解决问题

关于java - 如何创建具有两个映射字段的单独表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47803652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com