So right now I have a program containing a piece of code that looks like this...
Criteria crit = session.createCriteria(Product.class);
ProjectionList projList = Projections.projectionList();
projList.add(Projections.max("price"));
projList.add(Projections.min("price"));
projList.add(Projections.countDistinct("description"));
crit.setProjection(projList);
List results = crit.list();
I want to iterate results.So thank you in advance for any help/advice that is offered.
In this case you will have a list whose elements is an array of the following: [maxPrice,minPrice,count].
....
List<Object[]> results = crit.list();
for (Object[] result : results) {
Integer maxPrice = (Integer)result[0];
Integer minPrice = (Integer)result[1];
Long count = (Long)result[2];
}
You could use Generic in List and for each but for current code you could do following to iterate
for(int i = 0 ; i < results.size() ; i++){
Foo foo = (Foo) results.get(i);
}
Or better to go for readable for-each loop
for(Foo foo: listOfFoos){
// access foo here
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With