По умолчанию при выборе способа доступа к полю Hibernate ориентируется на положение обязательной аннотации @Id. Если @Id стоит над полем, то доступ (установка и чтение значений) ко всем полям будет осуществляться через механизмы рефлексии непосредственно на поле. Если аннотация над геттером, то значения полей будут устанавливаться и считываться Hibernate’ом через геттеры и сеттеры (при этом аннотация над сеттером никогда не ставится).
Изменить способ доступа к отдельному полю можно с помощью аннотации @Access.
Читать далее