Встречается на собеседованиях • сегодня
Для чего Hibernate создает Proxy
Hibernate использует прокси-объекты для ленивой загрузки (lazy loading) связанных сущностей. Это позволяет избежать избыточных запросов к БД, пока данные реально не понадобятся. Прокси наследует класс сущности и перехватывает вызовы методов, загружая данные при первом обращении.
Пример:
java
@Entity
class Order {
@Id Long id;
@ManyToOne(fetch = FetchType.LAZY) // Прокси вместо реального User
User user;
}
Order order = session.get(Order.class, 1L);
User user = order.getUser(); // Здесь еще прокси
user.getName(); // Только теперь выполнится SQL-запросКлючевые особенности:
- Прокси создаются только для LAZY-ассоциаций
- Работают через байткод-генерацию или CGLIB
- Должны соблюдать контракт equals()/hashCode()

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы