Hibernate criterion Projection alias not being used

Posted by sbzoom on Stack Overflow See other posts from Stack Overflow or by sbzoom
Published on 2010-05-19T17:47:13Z Indexed on 2010/05/19 17:50 UTC
Read the original article Hit count: 135

Filed under:
|

Do Hibernate Projection aliases even work? I could swear it just doesn't. At least, it doesn't do what I would expect it to do.

Here is the java:

return sessionFactory.getCurrentSession().createCriteria( PersonProgramActivity.class ).setProjection(
        Projections.projectionList().add(
                Projections.alias( Projections.sum( "numberOfPoints" ), "number_of_points" ) ).add(
                Projections.groupProperty( "person.id" ) ) ).setFirstResult( start ).setFetchSize(
        size ).addOrder( Order.desc( "numberOfPoints" ) ).list();

Here is the SQL that it generates:

select sum(this_.number_of_points) as y0_, this_.person_id as y1_ from PERSON_PROGRAM_ACTIVITY this_ group by this_.person_id order by this_.number_of_points desc

It doesn't seem to use the alias at all. I would think setting the alias would mean that "sum(this_.number_of_points)" would be aliased as "number_of_points" and not "y0_". Is there some trick I am missing?

Thanks.

© Stack Overflow or respective owner

Related posts about java

Related posts about hibernate