Query usando un alias en la columna da un error

Cuando uso el alias para la columna me sale un error. Sin alias todo funciona bien. Cuál es el problema con eso ? Este es un ejemplo simple, pero necesita usar más alias en un proyecto real para ajustar los resultados en alguna clase sin entidad, pero no puede debido a este error. ¿Cómo resolver esto?

NO FUNCION (con alias en la columna de identificación):

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();
}

Error

WARN [JDBCExceptionReporter: 77]: Error de SQL: 0, SQLState: S0022 ERROR [JDBCExceptionReporter: 78]: no se encontró la columna 'id'.

TRABAJAND (sin alias):

public List<Long> findAll(Long ownerId) {
    String sql = "select id from products where ownerId = "+ownerId;
    SQLQuery query = getSession().createSQLQuery(sql);
    return query.list();
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta