Вы пытаетесь отобразить состояние дважды: один раз, добавив аннотации к полю, и один раз, добавив аннотации к получателю. Поместите все аннотации в то же место (и в то же место, что и аннотация @Id
).
Но это действительно сбивает с толку. Ваше состояние является переходным (то есть оно вообще не отображается и не должно считываться из базы данных), но оно также перечисляется (зачем Hibernate использовать эту аннотацию, поскольку она должна быть переходной) и формулу.
Наконец, формула - это некоторый фрагмент SQL, который добавляется в каждый SQL, используемый для загрузки вашей сущности. Таким образом, он не должен содержать предложение select или предложение from, а только формулу, использующую некоторые столбцы самой таблицы. Например, предположим, что у вас есть таблица со столбцом salary
и столбцом bonus
, у вас может быть формула для поля totalIncome
, которая будет «бонус + зарплата». Но id не идет намного дальше, чем это.