@Override
    public <U> HibernateSQLQuery<U> select(Expression<U> expr) {
        queryMixin.setProjection(expr);
        @SuppressWarnings("unchecked") // This is the new type
        HibernateSQLQuery<U> newType = (HibernateSQLQuery<U>) this;
        return newType;
    }
{@code HibernateSQLQuery} is an SQLQuery implementation that uses Hibernate's Native SQL functionality
to execute queries

@param <T> result type

@author tiwe
querydsl-jpa/src/main/java/com/querydsl/jpa/hibernate/sql/HibernateSQLQuery.java