首页 > 解决方案 > JPA 映射 - 我可以建立“复合”关系吗?

问题描述

让我向您介绍我目前的问题。我有这个系统,用户可以加入许多聊天室

模型层,我有以下类:

public class User {

    @Id
    private UUID id;
    private String fullName;

    @ManyToMany
    @JoinTable(name = "user_room")
    private Set<Room> rooms;

}
public class Room {
    
    @Id
    private UUID id;
    
    @ManyToMany(mappedBy = "rooms")
    public Set<User> users;
}

到目前为止,我们做得很好(我想),但是下一个功能存在问题。在此功能中,用户可以设置他最喜欢的房间列表。

问题:n-m relationship在两个实体之间实现关联的最佳方法是,其中有多个字段关联它们?

我需要这样的东西:

public class User {

    private Set<Room> rooms;
    private Set<Room> likedRooms;

}
public class Room {

    private Set<User> users;
    private Set<User> likes;

}

谢谢!

标签: javajpaspring-data-jpamany-to-many

解决方案


推荐阅读