Чтобы объяснить подробнее о прокси; они создаются динамически путем расширения (создания подкласса) вашего объекта во время выполнения. В этом подклассе есть все методы родительской сущности, и когда к любому из методов обращаются, прокси загружает реальный объект из БД и вызывает метод для вас. Кроме того, стоит отметить, что все типы и оператор instanceof прекрасно работают на прокси, поскольку он является прямым подклассом, поэтому, как правило, вам не требуется выполнять какие-либо специальные операции, если вы используете прокси.