Объркан съм. Еманюел Бернар написа в ANN-418
че @Lob
са мързеливи по подразбиране (т.е. дори не е нужно да използвате @Basic(fetch = FetchType.LAZY)
анотация).
Някои потребители съобщават за мързеливо зареждане на @Lob
не работи с всички драйвери/база данни
.
Някои потребители съобщават, че работи при използване на инструменти за байткод (javassit? cglib?).
Но не мога да намеря ясна справка за всичко това в документацията.
В края, препоръчителното решение е да се използва „фалшиво“ едно към едно съпоставяне вместо свойства. Премахнете LOB полетата от съществуващия си клас, създайте нови класове, отнасящи се до същата таблица, същия първичен ключ и само необходимите LOB полета като свойства. Посочете съпоставянията като едно към едно, fetch="select", lazy="true". Докато вашият родителски обект все още е във вашата сесия, трябва да получите точно това, което искате. (просто транспонирайте това в анотации).