Иногда я забываю о «addScalar», затем гуглю код ошибки и нахожу этот ответ, за который я проголосовал уже в прошлом (
я использую псевдоним для столбца, я получаю ошибку. Без псевдонима все работает хорошо. В чем проблема с этим? Это простой пример, но нужно использовать больше псевдонимов в реальном проекте, чтобы обернуть результаты в некоторый класс не-сущности, но не может из-за этой ошибки. Как это решить?
НЕ РАБОТАЕТ (с псевдонимом в столбце id):
public List<Long> findAll(Long ownerId) {
String sql = "select id as myId from products where ownerId = "+ownerId;
SQLQuery query = getSession().createSQLQuery(sql);
return query.list();
}
Ошибка:
ПРЕДУПРЕЖДЕНИЕ [JDBCExceptionReporter: 77]: ошибка SQL: 0, SQLState: S0022 ОШИБКА [JDBCExceptionReporter: 78]: идентификатор столбца не найден.
РАБОТАЕТ (без псевдонима):
public List<Long> findAll(Long ownerId) {
String sql = "select id from products where ownerId = "+ownerId;
SQLQuery query = getSession().createSQLQuery(sql);
return query.list();
}