В приложении Grails, у меня есть отношения, которые по умолчанию ленивых:Hibernate Один-ко-многим ассоциации: подвыборки или нетерпеливого
class Author{
String name
static mapping = {
books lazy:false
}
}
У меня есть запрос API критериев, который извлекает авторов. Когда я выполнить запрос
Author.createCriteria().list{
eq("name", "John")
}
я есть N + 1 подзапросы для каждого автора.
Мой второй подход к стремится принести книги так же, как это:
Author.createCriteria().list{
eq("name", "John")
fetchMode("books", FetchMode.JOIN)
}
В этом случае N + 1 выберите проблема не появляется, однако у меня есть JOIN запрос.
Какой подход лучше с точки зрения производительности и оптимизации?