У меня есть объекты, объявленные следующим образом
@Entity
@Table(name = "table_a")
public class TableA extends AbstractEntity{
...
......
........
@OneToMany(
orphanRemoval = false,
mappedBy = "tableA",
fetch = FetchType.LAZY
)
@BatchSize(size = 10000)
private List<TableB> tabelB = new ArrayList<>();;
}
Вторая таблица выглядит следующим образом:
@Entity
@Table(name = "table_b")
public class TableB extends AbstractEntity{
...
......
........
@ManyToOne
@JoinColumn(name = "id")
private TableA tableA;
@ManyToOne
@JoinColumn(name = "id")
private TableC tableC;
}
Следующая третья таблица не имеет связи как свойство:
@Entity
@Table(name = "table_c")
public class TableC extends AbstractEntity{
...
....
.....
}
Теперь нет никакого выбора пакета, когда я проверяю журналы JPA, и все запросы table_c являются запросами одного выбора, когда я делаю что-то вроде этого:
for (TableB tableB : tableA.getTableB()) {
// some logic
}
В журналах есть операторы выбора партии для TableB, нодля TableC есть отдельные операторы выбора.
Мне не хватает какой-то базовой концепции, пожалуйста, помогите мне определить.Я попытался добавить FetchType Lazy и размер пакета в классе сущностей TableB для ассоциации TableC ManytoOne, но это не сработало.