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