Я использую Spring Data JPA и имею много отношений от Child to Parent Class, используя спящий режим. Я пишу API поиска, который будет искать в дочерней таблице, используя некоторые столбцы дочерних таблиц, и возвращать список дочерних объектов вместе с некоторыми данными из класса Parent для каждого дочернего объекта. Я делаю по умолчанию нетерпевую выборку для отношений «многие к одному». Проблема, с которой я столкнулся, позволяет сказать, что после поиска дочерней таблицы возвращается 10 записей, а hibernate выполняет 10 различных запросов выбора в родительском классе, чтобы получить родительский объект для каждого дочернего объекта. Есть ли способ оптимизировать это? Существует решение, заданное аналогичной проблеме here, но это для одного-многих случаев. Я также не мог найти ничего полезного в этом отношении на веб-сайте. Есть идеи ?Весенние данные JPA избегают множественного выбора во многих отношениях.
0
A
ответ
0
как вы не показали каких-либо кодов в вопросе, это немного трудно решить, но я думаю, что если вы укажете join column
(@JoinColumn
аннотацию) и использовать @OneToMany
аннотацию в parent
класса (с указанием fetch
типа) и @ManyToOne
внутри child
у вас не должно быть проблем:
@Entity(name ="Parent")
public class Parent {
@Id
@Column
private int id;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name= "paren_id")
private Set<Child> children;
//getters and setters
}
@Entity(name ="Child")
public class Child{
@Id
@Column
private int id;
@ManyToOne
private Parent parent;
//getters and setters
}
Смежные вопросы
- 1. Уникальные данные во многих отношениях
- 2. дополнительные атрибуты во многих отношениях jpa
- 3. JPA Сортировать по столбцу во многих отношениях
- 4. Весенние данные jpa-аудит неудачи для отображения многих-многих
- 5. CoreData: удалить объект во многих отношениях во многих отношениях
- 6. Я получаю org.hibernate.id.IdentifierGenerationException во многих отношениях во многих отношениях
- 7. Отличие во многих отношениях:
- 8. Форма во многих отношениях
- 9. выберите во многих отношениях
- 10. Отношения во многих отношениях
- 11. Поиск во многих отношениях
- 12. проблема во многих отношениях
- 13. Передайте данные во многих отношениях в laravel
- 14. Как вставить данные во многих отношениях
- 15. Основные данные: атрибуты во многих отношениях.
- 16. Laravel Удаление Сводные данные во многих отношениях
- 17. Паруса, создающие данные во многих отношениях
- 18. Весенние данные JPA
- 19. запрос во многих отношениях laravel
- 20. повторяющиеся строки во многих многих отношениях MySQL
- 21. От одного до многих отображение не работает Весенние данные JPA
- 22. (несохраненные) данные в заводной во многих-многих отношениях
- 23. JPA - Невозможно получить доступ к сущности @mappedsuperclass во многих отношениях
- 24. Подтвердить объекты во многих отношениях во Django
- 25. Показатели чтения во многих отношениях
- 26. Соотношение отношений во многих отношениях
- 27. Структура модели во многих отношениях.
- 28. Отношения во многих отношениях Парсе
- 29. Laravel поиск во многих отношениях
- 30. Как ориентироваться во многих отношениях
Я предполагаю: вы забираете детей. Детский объект определяется родителем в классе. Родитель определяется с нетерпением. Учитывая, что: Вы говорите, что Hibernate создает несколько операторов SELECT - по одному на каждого загруженного ребенка - для извлечения родителя? Я проверил бы это, если бы я был вами ... Если это правда, я бы просто сконфигурировал кеш для спящего режима. Это не нужно. Я буду копать в минуту для документации. https://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/performance.html#performance-cache – Mike