当您使用hasMany
books
时,如果它是代理,则定义为Set
或PersistentSet。
在Grails docs中说:
您可以在关联级别配置排序。
以上意味着默认情况下,Book实例的所有集合都按书名排序:
class Author {
String name
static hasMany = [books: Book]
static mapping = {
books sort: "title"
}
}
class Book {
String title
static belongsTo = [author: Author]
}
在我的测试中,当你获得一本作者的书籍时,总是会对它进行排序,但是如果将它们保存在一个Set或PersistentSet(底层集合是一个HashSet)中,我不明白如何对它们进行排序
为什么当我得到任何作者时,如果查询结果放在Set / PersistentSet中,那么书籍总是按标题排序?
Grails是如何做到的?