Я использую hibernate и заметил, что при использовании списков в качестве столбцов выборка из базы данных (findById) с помощью JpaRepository занимает много времени. В журналах я обнаружил, что запрос правильный:
select
measuremen0_.data_id as dat1_3_0_,
measuremen0_.measurements as measurem2_3_0_,
measuremen0_.measurements_order as measurem3_0_
from
data_measurements measuremen0_
where
measuremen0_.data_id=?
, но после запроса происходит инициализация, которая занимает много времени, даже перемещение, чем сам запрос:
Preparing collection initializer:
Found row of collection:
Found row of collection:
Found row of collection:
... (times number of measurements)
Какова цель подготовки коллекции? это можно пропустить? Вот мой класс сущности:
@Entity
public class Data {
@Id
private long id;
@ElementCollection(fetch = FetchType.EAGER)
@OrderColumn
@Column(columnDefinition = "TEXT", updatable = false)
private List<String> measurements;