Есть два способа определения структуры вашей сущности.
- с использованием аннотаций к переменным экземпляра вашей сущности или
- с использованием аннотаций к методам получения вашей сущности
При использовании аннотаций к методам полученияHibernate предполагает, что каждый getXxx (и isXxx для логических типов) представляет определение постоянного свойства.И это справедливо даже в том случае, если этот конкретный метод получения не содержит каких-либо аннотаций, как это происходит в вашем случае.
Hibernate также ожидает найти соответствующий метод установки для каждого постоянного свойства.И в вашем случае это то, что отсутствует и вызывает исключение.
Вы можете решить эту проблему, объявив свой пользовательский получатель как @Transient
, который говорит, что этот получатель не представляет постоянное свойство.Другой способ - преобразовать сущность для использования аннотаций в переменных экземпляра.Последнее будет моим личным выбором.