我是ORM的新手。我在确定应该如何精确映射以下实体时遇到麻烦。
DiscussionThread 类似于我们在在线公告板上看到的内容。它包含一个发布列表,该列表将由用户发布。但是,我不希望用户在发布 DiscussionThread 时透露其身份。 为了实现这一点,我创建了一个由实体 AnonymousUser 表示的代理用户名列表。因此,每当用户决定在 DiscussionThread 中发布帖子时,他都会以 AnonymousUser 的身份发布。由同一 User 在该 DiscussionThread 中创建的任何其他帖子,都将链接到同一 AnonymousUser 。 > User 在不同的 DiscussionThreads 中将具有不同的 AnonymousUser 名称。 AnonymousUser 的实例可由两个不同线程上的两个不同用户使用。
用简单的话来说,每个 DiscussionThread 中将有一个 User 的 AnonymousUser 。
我已经创建了以下POJO实体,但是我在如何将它们相互映射方面陷入困境。
public class AnonymousUser {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
private String displayPicture;
//Not sure how to make relationships here
private Set<DiscussionThread> discussionThreads;
private Set<User> users;
}
public class DiscussionThread {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
private String description;
}
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String email;
private String username;
}
任何帮助将不胜感激。
谢谢!