У меня проблема с тем, что 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 выдает ошибку «нет сеанса или сеанс закрыт», что имеет смысл, поскольку моя транзакция уже была зафиксирована из моего сервиса.
Спасибо!