Пакетный выбор JPA для объектов с ассоциацией «Один ко многим» и «Много к одному» - PullRequest
0 голосов
/ 05 июля 2019

У меня есть объекты, объявленные следующим образом

@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, но это не сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...