jpa @ManyToOne несколько лиц - PullRequest
       0

jpa @ManyToOne несколько лиц

0 голосов
/ 15 февраля 2019

Я хочу создать общую MEMO сущность.
Схема таблицы, как показано ниже

CREATE TABLE MEMO(
  resource_id int,
  resource_type varchar(10),
  content varchar(255)
)

Каждая сущность может иметь отношение к этой MEMO сущности.
resource_id может иметьпервичный ключ от других сущностей,
это означает, что resource_id - это внешний ключ, который допускает все сущности.
И resource_type - это тип сущности.Да, это как дискриминатор.

Я не хочу создавать такие объекты, как ITEM_MEMO, CATEGORY_MEMO, SCHEDULE_MEMO ...
Я думаю, что это хорошо до сих пор, но теперь я понимаю, что не знаю, какреализует эту таблицу с использованием JPA.

Как вы знаете, @ManyToOne может иметь один объект.
Но в моем случае resource_id должен иметь отношение ко многим объектам.

Итак ... есть ли способсделать это?

1 Ответ

0 голосов
/ 15 февраля 2019

Почему бы вместо этого не использовать таблицы соединений?Вы можете просто добавить @OneToMany @JoinTable private Collection<Memo> memos ко всем соответствующим объектам (обратная связь, конечно, невозможна в этом сценарии).

И наоборот, если вам нужна только сторона @ManyToOne, взгляните на аннотацию @Any Hibernate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...