@Basic (выбирают = FetchType. ЛЕНИВЫЙ), не работает?

Я использую JPA (В спящем режиме) с Spring. Когда я хочу к ленивой загрузке свойство Stirng, я использую этот синтаксис:

@Lob
@Basic(fetch = FetchType.LAZY)
public String getHtmlSummary() {
    return htmlSummary;
}

Но то, когда я смотрю на sql, которые в спящем режиме, создает, кажется, что это свойство не лениво загруженный? Я также использую этот класс org.hibernate.tool.instrument.javassist. InstrumentTask в скрипте Ant для оснащения этого свойства, но кажется, что это не работает.

Пожалуйста, помогите мне.

Khosro.

17
задан 5 revs, 4 users 73% 31 March 2016 в 08:08
поделиться

3 ответа

Определение непрофессионала простое: "что-то, что исполняет хорошо; performant = = высокая производительность,! performant = = низкая производительность "

Я не вижу, чтобы это применялось к другим показателям, кроме производительности. Уродливый, халтурный и нестабильный код может быть исполнителем.

-121--1269055-

Некоторые предложения можно найти в документе Крупномасштабный дизайн программного обеспечения C++ . Это немного датировано (опубликовано в 1996 году), но все еще ценно, с указателями на структурирование кода, чтобы минимизировать проблему «перекомпиляции мира, когда меняется один файл заголовка».

-121--5086358-

Lazy Lob загрузка потребует, чтобы инструментарий байт-кода работал правильно, поэтому он по умолчанию недоступен в любой реализации JPA, о которой мне известно.

Ваша лучшая ставка заключается в том, чтобы поместить Lob в отдельный объект, например, в StartSummary , и использовать лениво загруженную ассоциацию «один к одному».

5
ответ дан 30 November 2019 в 14:25
поделиться

Ленивая выборка относится только к ссылкам на другие объекты или коллекции организаций. Это не относится к значениям, как строка или INT.

-3
ответ дан 30 November 2019 в 14:25
поделиться

из спецификации JPA говорят, что даже если Вы лениво используете аннотацию свойства, которое будет извлечено, это не гарантируется, поэтому свойства могут лениво загружаться или не загружаться (зависит от реализации JPA), однако, если Вы укажете, что должны извлекать их с нетерпением, то реализация JPA должна загружать их с нетерпением.

Итог: @Basic(fetch = FetchType.LAZY) может работать или не работать, зависит от реализации JPA.

1
ответ дан 30 November 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: