Это похоже на ManyToMany, а не один на Многих.У пользователей может быть несколько тегов, и тег может быть связан с несколькими пользователями?
Такой суперкласс вам понадобится только в том случае, если вы хотите иметь возможность связать свой тег с одной коллекцией, содержащейкаждый объект помечен этим тегом.У вас есть требование для метода tag.getOneGiantCollectionOfEveryTaggedEntity()
?
Поскольку у отмеченных объектов, кажется, нет ничего общего, действительно ли такая коллекция имеет какое-либо значение в вашей области приложения?Якобы он также может быть довольно большим, и в любом случае вы не захотите работать с ним через отношения объектов.С практической точки зрения, не зная о вашем сценарии использования, кажется, что tag.getTaggedUsers()
, tag.getTaggedPosts()
и т. Д. Более полезны.
Извините, думаю, я задаю больше вопросов, чем даю ответы, но это не яснокак вы хотите, чтобы ваш готовый объектный домен выглядел следующим образом:)
edit:
Возможно, тогда фактическим ответом на заданный вопрос будет просто «Нет, Hibernate не будет отображать для вас коллекцию Rawу типов без общего предка, которые просто случаются со всеми, есть внешние ключи к вашей сущности. "Вам необязательно навязывать «поддельные» суперклассы вашим сущностям, но если вы этого не сделаете, вам придется создать объединяющую таблицу.
.?