Root<Event> event = criteriaQuery.from( Event.class );
ParameterExpression<Long> minAttendeesCount = cb.parameter( Long.class, "min_attendees_count" );
criteriaQuery.select( event.get( "type" ) )
.having( cb.ge( cb.sum( event.get( "attendees" ) ), minAttendeesCount ) );
session.createQuery( criteriaQuery )
.setParameter( minAttendeesCount, 2L )
.getResultList();