使用JPA的一个集合中的多种实体类型

时间:2018-07-22 08:01:26

标签: hibernate jpa spring-data-jpa

上下文

在我的应用程序中,我有几个子类(Admin,Parent,Chaperone),它们都扩展了给定的超类(Contactable)。我已经将admin,parent和chaperone用户分为各自的表。

问题

我正在尝试在三种用户类型之间构建群聊,其中主题是父级的给定子级。我有一个groupchat实体,该实体使用子ID作为PK,它包含消息的集合。

我想做的是在groupchat实体中有一个@OneToMany消息集合,其中每个消息都映射到伴侣,父母或管理员。

可能的解决方案

我在GroupChat实体中可以有三个集合,用于收集来自每种用户类型的消息。来自每种用户类型的消息也将是它们自己的实体(ParentMessage,ChaperoneMessage ...)。然后,我将根据请求压缩来自每个集合的消息,以按时间顺序显示所有用户类型的消息。

我不喜欢那种解决方案。

是否有一种方法可以利用泛型,以便我可以拥有一个Message实体,以及在这些消息的群聊中拥有一个集合,而jpa可以处理其余的? (一厢情愿,但不知道您是否不问!)

谢谢!

0 个答案:

没有答案
相关问题