Ваш удобный метод также извлекает задачи, например, присоединяя эту ассоциацию в запросе? Если задача уже загружена, JPA не нужно будет извлекать их при доступе к коллекции.
FETCH JOIN включает выборку ассоциации или коллекции элементов как побочный эффект выполнения запроса.
Синтаксис для соединения извлечения:
fetch_join ::= [ LEFT [OUTER] | INNER ] JOIN FETCH join_association_path_expression
Ассоциация, на которую ссылается правая часть предложения FETCH JOIN, должна быть ассоциацией или коллекцией элементов, на которую ссылается сущность или встраиваемость, возвращаемая в результате запроса.
Не разрешается указывать идентификационную переменную для объектов, на которые ссылается правая часть предложения FETCH JOIN, и, следовательно, ссылки на неявно выбранные объекты или элементы не могут появляться в других местах запроса.
Следующий запрос возвращает набор отделов. Как побочный эффект, связанные сотрудники для этих отделов также извлекаются, даже если они не являются частью явного результата запроса. Инициализация постоянных полей состояния или отношений или свойств объектов, которые извлекаются в результате соединения выборки, определяется метаданными для этого класса - в этом примере сущности Employee
класс.
SELECT d
FROM Department d LEFT JOIN FETCH d.employees
WHERE d.deptno = 1
Соединение извлечения имеет ту же семантику соединения, что и соответствующее внутреннее или внешнее соединение, за исключением того, что связанные объекты, указанные в правой части операции соединения, не возвращаются в результате запроса или не упоминаются в запросе иным образом. Следовательно, например, если в отделе 1 работает пять сотрудников, приведенный выше запрос возвращает пять ссылок на объект отдела 1.
Конструкция FETCH JOIN не должна использоваться в предложении FROM подзапроса.