2013-07-05 5 views
1

У меня есть отношения «многие-к-одному» .. со всей ленивой инициализацией, но каждый раз, когда я запрашиваю много сторон отношений, это создает другой выбор [другой] и возвращает родителя, я прочитал на другой должности здесь, в стеке, говорят, что хорошее для производительности объявляет окончательный класс для методов переопределения VTable, но в другом сообщении они говорят, что если у меня есть отношения «один-к-одному» с конечным классом, это приведет к тому, что одна сторона отношения в факт, что я удалил последний модификатор в моем классе, и все в порядке, теперь мой вопрос в том, почему окончательный модификатор вызывает одну сторону отношений, нетерпеливо приносимую даже при всей ленивой инициализации.Hibernate ManyToOne Lazy not Working final Класс

ответ

0

Ключевое слово final не позволяет никому продлить класса и переопределить его методов.

Чтобы реализовать ленивую загрузку, спящий режим заменяет экземпляр родительского объекта на стороне со стороны прокси. При первом вызове этот прокси загружает данные родителя из базы данных.

Прокси-сервер должен быть экземпляром класса родителя. Но он не может быть типа Parent, так как его методы должны делать что-то еще: выполнить SQL-запрос при первом вызове. Таким образом, прокси-сервер фактически является подклассом (динамически созданным во время выполнения) Parent. И, чтобы быть подклассом, класс родителей не может быть окончательным.

Смежные вопросы