Возникла проблема N+1: после миграции весной загрузилась 2.7.2 -> 3.2.2. Использование @BatchSize, но только при уменьшеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Возникла проблема N+1: после миграции весной загрузилась 2.7.2 -> 3.2.2. Использование @BatchSize, но только при уменьше

Сообщение Anonymous »

Код: Выделить всё

@Transactional(readOnly = true)
public void test() {
Slice teamSlice = teamRepository.findAllLimit10();
List teamList = teamSlice.getContent();
List booleanList = teamList.stream()
.map(team -> {
team.getUserList().isEmpty(); // issue point
})
.collect(Collectors.toList());

}

Код: Выделить всё

@Builder.Default
@Where(clause = "enabled = true")
@BatchSize(size = 600)
@OneToMany(mappedBy = "team", cascade = CascadeType.PERSIST)
private List userList = new ArrayList();

Код: Выделить всё

Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?,?,?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?,?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.userId,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?)
and (
u1_0.enabled = 1
)
Hibernate:
select
u1_0.user_id,
u1_0.team_id
from
user u1_0
where
u1_0.team_id in(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
and (
u1_0.enabled = 1
)
Проблема возникла после весенней загрузки загрузки.
spring boot 2.7.2 0> 3.2.2 и использование hibernate-core 6.1.4 Final .
Количество условий только уменьшается...
@Fetch(FetchMode. SUBSELECT)

Подробнее здесь: https://stackoverflow.com/questions/790 ... ng-batchsi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»