Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sorting in Query for MySQL database using hibernate
- Session session = HibernateUtil.getSessionFactory().getCurrentSession();
- session.beginTransaction();
- List<Task> tasks = (List<Task>)session.createQuery(
- "from Task as t where t.user.username = :name order by t.project.key ASC").setString("name", username).list();
- orderByDeliverable(tasks);
- orderByActivity(tasks);
- private void orderByDeliverable(List<Task> tasks) {
- Collections.sort(tasks, new Comparator<Task>(){
- public int compare(Task t1, Task t2) {
- if(t1.getProject().getId() == t2.getProject().getId())
- return t1.getDeliverable().getKey().compareToIgnoreCase(t2.getDeliverable().getKey());
- return 0;
- }
- });
- }
- private void orderByActivity(List<Task> tasks) {
- Collections.sort(tasks, new Comparator<Task>(){
- public int compare(Task t1, Task t2) {
- if(t1.getProject().getId() == t2.getProject().getId())
- if(t1.getDeliverable().getId() == t2.getDeliverable().getId())
- return t1.getActivity().getKey().compareToIgnoreCase(t2.getActivity().getKey());
- return 0;
- }
- });
- }
- tasks = (List<Task>)session.createQuery("from Task as t where t.user.username = :name
- order by t.project.key ASC, t.deliverable.key ASC, t.activity.key ASC")
- .setString("name", username).list();
Add Comment
Please, Sign In to add comment