Вы могли бы сделать это с помощью какой-то проекции.
См. Учебник по проекциям Hibernate. Вероятно, вас заинтересовал метод sqlProjection
в классе Projection для подзапроса.
List results = session.createCriteria(Parent.class, "p")
.setProjection(Projections.projectionList()
.add(Projections.property("field1"))
.add(Projections.property("field2"))
.add(Projections.property("field3"))
.add(Projections.sqlProjection("select count(*) from child where child.parentid = p.id"), new String[] {"LEVELS"}, new Type[] {Hibernate.INTEGER})
).list();