Я довольно новичок в ORM. У меня возникают проблемы с решением, как именно я должен отобразить следующие объекты.
- DiscussionThread
- Сообщение * * 1006
- Пользователь
- AnonymousUser
DiscussionThread будет чем-то похожим на те, которые мы видим на электронных досках объявлений в Интернете. Он будет содержать список Post , который будет опубликован User . Однако я не хочу, чтобы Пользователь раскрыл свою личность при публикации в DiscussionThread .
Чтобы добиться этого, я создал список имен прокси-пользователей, обозначаемых сущностью AnonymousUser . Таким образом, всякий раз, когда пользователь решает сделать сообщение в дискуссионной теме , он будет публиковать сообщение как AnonymousUser . Любое дальнейшее сообщение , сделанное тем же пользователем , в котором DiscussionThread будет связано с тем же AnonymousUser .The User будет иметь разные AnonymousUser имена в разных Обсуждение темы . Экземпляр AnonymousUser может использоваться двумя разными пользователями в двух разных потоках.
Проще говоря, будет один AnonymousUser для одного пользователя в каждом DiscussionThread .
Я создал следующие объекты 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;
}
Любая помощь будет оценена.
Спасибо!