Запрос с использованием псевдонима в столбце дает ошибку

Когда я использую псевдоним для столбца, я получаю ошибку. Без псевдонима все работает хорошо. В чем проблема? Это простой пример, но нужно использовать больше псевдонимов в реальном проекте, чтобы обернуть результаты в какой-то не-сущностный класс, но не может из-за этой ошибки. Как решить эту проблему?

НЕ РАБОТАЕТ (с псевдонимом в столбце идентификатора):

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();
}
5
задан marioosh 19 August 2011 в 08:11
поделиться