Я просматривал документацию по спящему режиму и нашел эти строки
Конструктор без аргументов необходим для всех персистентных классов; Hibernate должен создавать объекты для вас, используя Java Reflection. Конструктор может быть закрытым, однако для создания прокси-сервера во время выполнения и эффективного извлечения данных без инструментария байт-кода требуется пакетная или общедоступная видимость.
Может ли кто-нибудь объяснить создание прокси-сервера во время выполнения и эффективное извлечение данных без инструментов байт-кода?