Встречается на собеседованиях • сегодня
Почему Entity нельзя объявить как final в JPA
В JPA Entity не может быть final, потому что провайдер JPA (например, Hibernate) использует прокси-объекты для ленивой загрузки (Lazy Loading) и других оптимизаций. Прокси создаются путем наследования от класса Entity, а final-классы нельзя наследовать.
Пример:
java
@Entity
public class User { // Если добавить final — будет ошибка!
@Id
private Long id;
private String name;
// Геттеры/сеттеры
}Если User сделать final, Hibernate не сможет создать прокси, и Lazy Loading для ассоциаций (например, @ManyToOne(fetch = LAZY)) перестанет работать. Также это может нарушить кеширование и другие механизмы JPA.

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