Используйте ProjectionList , чтобы вернуть только те поля, которые вы ищете.
Criteria criteria = session.createCriteria(Property.class, "property")
.setProjection(Projections.projectionList()
.add(Projections.property("property.field1"))
.add(Projections.property("concern.field2"))
/*etc*/)
/*etc etc etc*/;
В результате получается массив массивов.
for (Object result : criteria.list()) {
final Object[] fields = (Object[]) result;
log.info("property.field1={}, concern.field2={}", fields[0], fields[1]);
}
Кстатиимя вашей сущности "Свойство" может вызвать путаницу / конфликт с существующим классом Hibernate, особенно если вы используете Критерии.