У меня небольшая проблема с активной загрузкой при весенней загрузке. По сути, у меня есть сущность, определенная как:
@Entity
class EventEntry(
@ID
val uid
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "event_to_boxes", joinColumns = arrayOf(JoinColumn(name = "event_uid")))
@Column(name = "box_uid")
val boxUids: List<Long>
) : EventEntry(userUid, timestamp)
Теперь, когда я вставляю данные (из graphql, но это деталь), все работает нормально, и я вижу, что в базе данных несколько строк правильно сохраняется в таблице event_to_boxes. К сожалению, когда я получаю все события, появляется что-то неожиданное.
Я вижу запрос, запрашивающий все события, затем запрашивающий один раз для каждого списка boxUids, почти как FetchType.EAGER. был полностью проигнорирован.
Насколько я понимаю, тип извлечения должен был уже получить значения для идентификаторов ящиков при заполнении прав на события. Я что-то упустил или мое понимание совершенно неверно?
Чтобы дать немного больше фона, я пытаюсь смоделировать отношения N-N-N таким образом, где это - половина N- отношения, но я должен, при получении сущности события, также вызывать uid коробки (box - это другая половина отношения) без каких-либо дополнительных данных box