JPA2 / Hibernate - Прекратить ленивую загрузку?

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

Спасибо!

9
задан Brian DiCasa 26 January 2011 в 14:58
поделиться