2013-11-11 5 views
1

Это моя простая ситуация:ленивым список упорядочивается по столбцам

@Entity 
@Table(name = "project") 
public class Project implements Serializable { 

    @Id 
    private Long id; 

    @OneToMany(mappedBy = "project") 
    private List<Author> authors; 

    public List<Author> getAuthors() { 
     return authors; 
    } 
} 

public class DAO { 

    public void getOrderedAuthorsByProject(Project project) { 
     return project.getAuthors(); // Line 1 
    } 
} 

В строке 1, как вернуть список автор, по заказу конкретного столбца Автор сущности, просто делает получить?

Спасибо.

ответ

1

Если свойство вы хотите отсортировать по этому полю в Авторе (т.е. столбец в таблице Authors), то вы можете использовать @OrderBy:

@OneToMany(mappedBy = "project") 
@OrderBy("surname, forename asc") 
private List<Author> authors; 

Если это вложенное свойство, то вы можете используйте аннотацию @Sort (Hibernate specific, non JPA), чтобы выполнить сортировку в памяти. Вы можете указать компаратор или указать SortType = NATURAL, если ваш авторский объект реализует интерфейс Comparable.

http://java.dzone.com/news/sorting-collections-hibernate

+0

Thanks @Alan Hay! Моя проблема решена. –

Смежные вопросы