Hibernate: как встроить несвязанные основные (статические) данные в объект - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь выяснить, достижимо ли следующее при стандартном отображении Hibernate.

Пример домена

Представьте, что у нас есть Beer сущность и Pub сущность. Паб предлагает пиво, поэтому он содержит список пива (я буду использовать упрощенный псевдокод, чтобы сделать пример менее подробным):

@Entity class Beer(id, name)
@Entity class Pub(id, beers: List<Beer>)

Это сработало бы с помощью сопоставления таблицы соединений:

table beer(id, name)
table pub(id)
table pub_beer(pub_id, beer_id)```

Проблема

Теперь клиент заходит в паб и хочет заказать любое действующее пиво в мире. В качестве примера давайте предположим, что для этого Pub необходимо знать о всех существующих сортах пива. Другими словами, мы хотели бы вставить все пиво в сущность Pub:

@Entity class Pub(
  id, 
  beers: List<Beer>,               // from pub_beer table
  allBeersInTheWorld: List<Beer>   // pretty much SELECT * from beer
)

Материал, который я пробовал

Я изучил @Formula (работает для примитивных значений), @CollectionTable и @XXXToMany нужно @JoinColumn, которого в этом примере не существует.

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