【问题标题】:Many-to-many relation of a single entity - Hibernate单个实体的多对多关系 - Hibernate
【发布时间】:2015-10-24 14:41:41
【问题描述】:

我有一个简单的用户实体,并希望与其他用户实现多对多关系。该类如下所示:

@Entity
public class User {
    @Id
    @GeneratedValue
    private long id;

    private String username;

    @ManyToMany
    private List<User> friends;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public List<User> getFriends() {
        return friends;
    }

    public void setFriends(List<User> friends) {
        this.friends = friends;
    }

    public void addFriend(User user){
        if (friends==null) friends = new ArrayList<User>();
        friends.add(user);
    }
}

但是,这并不符合我的要求,因为我希望数据库中只有一行用于双向关系,在这种情况下,它会在两个方向上产生两行。

我怎样才能做到这一点?

【问题讨论】:

    标签: java database hibernate jakarta-ee entity


    【解决方案1】:

    一个选项是one-to-many with join table

    只需确保正确更新参与关联的两个用户即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 2017-04-06
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 2012-02-13
      相关资源
      最近更新 更多