-1

so i am trying to reverse somehow my list after getting it in my database by using spring hibernate but i don't have much idea about the criteria here is my code by the way

Controller

@RequestMapping(value = "/Crime")
public String show(Map<String, Object> map) 
{
    map.put("complainList", complainService.listComplains());
    return "/complains/Crime";
}

my DAO

public interface ComplainsDao 
{
   public List<Complains> listComplains();
}

my DAO IMPLEMENTATION

@Repository
public class ComplainsDaoImpl implements ComplainsDao 
{
   public List<Complains> listComplains() 
   {
      return getSession().createCriteria(Complains.class).list();
   }
}

Service

public interface ComplainService 
{
    public List<Complains> listComplains();
}

Service implementation

@Service
public class ComplainsServiceImpl implements ComplainService 
{
   @Transactional(readOnly = true)
   public List<Complains> listComplains() 
   {
      return complainsDao.listComplains();
   }
}

3 Answers3

1

Criteria has an addOrder method for this:

public List<Complains> listComplains() {
    return getSession().createCriteria(Complains.class).addOrder(Order.desc("complainId")).list();
}
bedrin
  • 3,939
  • 25
  • 48
0

If you have used Comparator or Comparable for design of your Complain class just change the logic of comparing in compare or compareTo method

Sanjay Rabari
  • 2,024
  • 13
  • 28
0

Agree with the above answer by @bedrin

You can order the results using org.hibernate.criterion.Order.

have a look at below links for some complex examples as well.

from hibernate docs

similar question here

Also you can make use of annotation OrderBy

@OneToMany
@org.hibernate.annotations.OrderBy("childName")
Set<Child> childs

or JPA @javax.persistence.OrderBy

Community
  • 1
  • 1
Ankur Singhal
  • 23,626
  • 10
  • 70
  • 108