【发布时间】:2020-07-26 07:06:28
【问题描述】:
我正在使用 hibernate,我注意到当使用列表作为列时,使用 JpaRepository 从数据库 (findById) 获取需要很长时间。在日志中我发现查询是正确的:
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;
【问题讨论】:
标签: java hibernate jpa spring-data-jpa hibernate-mapping