Search code examples
hibernatehibernate-criteria

Hibernate - Sum two columns


everyone!

I'm trying to avoid to write the SQL/HQL query directly using Criteria, so I would like to know if it's possible to do something like this:

My entity:

@Entity
public class A {
   @Column
   private int a1;

   @Column
   private int a2;
   .....
}

What I want to do:

select sum(a1 + a2) from A

Solution

  • After some research, this can be done using Formula annotation:

    @Entity
    public class A {
       @Column(name ="a1")
       private int a1;
    
       @Column(name ="a2")
       private int a2;
    
       @Formula("a1 + a2")
       private int a3;
       .....
    }
    

    And in the Criteria:

    Criteria cr = getInstanciaCriteria(A.class); 
    cr.setProjection(Projections.projectionList().add(Projection‌​s.sum("a3"));