В hibernate вы можете вызывать конструктор любого произвольного класса внутри предложения select запроса.
@NamedQuery( name = "myScalarQuery" query =
"select new org.stackoverflow.hibernate.QueryResultObject(A.field_a, B.field_b)
from A, B
where a.someUsefulProperty = b.someComparableProperty")
и т. Д.(обратите внимание, что требуется полное имя класса)
Тогда вам просто нужен класс с соответствующим конструктором
public class QueryResultObject {
public QueryResultObject(TypeOfFieldA fieldA, TypeOfFieldB fieldB) {
//etc
}
}