好,所以基本上我有两个实体,ChatSession和ApplicatonUser。聊天代表一个聊天室,并且始终有2个人。为了代表聊天和这两个人,我使用了这个实体:
public class ChatSession {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@ManyToOne
ApplicationUser firstUser;
@ManyToOne
ApplicationUser secondUser;
}
与我的ApplicationUser实体无关:
public class ApplicationUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
这对我来说很好。但是当我想为某个用户查找聊天时,我不想浏览所有聊天以找到它。无论如何,我可以使ApplicationUser跟踪他所不参与的所有聊天,因此当我正在寻找用户所不喜欢的聊天时,我只需要查看他所不参与的聊天。我将如何使用Spring数据对此进行映射?我知道我可以拥有:
@OneToMany
List<ChatSessions> listOfChatSessions
但是,这似乎不适用于我,我认为无论如何都可以搜索所有聊天记录。