Когда я пытаюсь загрузить Entity с Hibernate, я получаю следующую ошибку в postgres-log:
ERROR: column appuser0_.device_token does not exist at character 35
STATEMENT: select appuser0_.id as id1_27_0_, appuser0_.device_token as device_t2_27_0_,....
Столбец device_token определенно существует - и если я скопирую-вставьте весь зарегистрированный оператор и выполним его в PGAdmin, я получу ожидаемый результат.
Так что же я забыл? В чем разница между оператором Hibernate и вручную выполненным?
Эта проблема была вызвана конфигурацией нескольких арендаторов, так что был выбран неправильный источник данных.
В зависимости от того, как вы определили запрос, проблема может быть расположена где-то в другом месте. Например, в запросах HQL используются "имена свойств" класса, а не имена столбцов.
И если у вас есть что-то вроде:
@Column("device_token")
private String deviceToken;
Тогда ваш HQL-запрос должен быть нацелен на "deviceToken", а не "device_token". Мы также столкнулись с подобной ошибкой один раз: Hibernate сообщал, что "user_id" отсутствует, потому что мы назвали свойство "userId" с подчеркнутой версией только для имени столбца.
Это может быть не проблема для вас, но стоит дважды проверить его.