У меня проблема, когда JPA пытается лениво загрузить мои данные, когда я не хочу этого. По сути, происходит то, что я использую Службу для получения некоторых данных, и когда я перехожу к синтаксическому анализу этих данных в JSON, библиотека JSON запускает спящий режим, чтобы попытаться лениво загрузить данные. Есть ли способ остановить это? Я привел пример ниже.
// Web Controller method
public String getEmployeesByQuery(String query) {
Gson gson = new Gson();
List<Employee> employees = employeeService.findEmployeesByQuery(query);
// Here is where the problem is occurring - the gson.toJSON() method is (I imagine)
// using my getters to format the JSON output, which is triggering hibernate to
// try and lazily load my data...
return gson.toJSON(employees);
}
Можно ли настроить JPA / hibernate так, чтобы он не пытался лениво загружать данные?
ОБНОВЛЕНИЕ: Я понимаю, что вы можете использовать FetchType.EAGER - но что, если я не хотите загружать эти данные? Я просто хочу, чтобы спящий режим не пытался получить больше данных - у меня уже есть нужные данные. Прямо сейчас всякий раз, когда я пытаюсь получить доступ к методу get (), hibernate будет выдавать ошибку «нет сеанса или сеанс закрыт», что имеет смысл, потому что моя транзакция уже была зафиксирована из моей службы.
Спасибо!