加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Grails OneToMany Set 排序

发布时间:2020-12-14 16:51:22 所属栏目:大数据 来源:网络整理
导读:大家都知道在Hibernate中OneToMany 关系映射是可以选择映射的集合是什么类型的,例如Set 或者List 这里不多做介绍. 最近项目开发使用基于Groovy语言的Grails框架,在domain层实体进行OneToMany关系映射的时候默认,选择的是集合Set,这样导致,我们在自动取得Many

大家都知道在Hibernate中OneToMany 关系映射是可以选择映射的集合是什么类型的,例如Set 或者List 这里不多做介绍.

最近项目开发使用基于Groovy语言的Grails框架,在domain层实体进行OneToMany关系映射的时候默认,选择的是集合Set,这样导致,我们在自动取得Many对象值是,每次都是不同的顺序,这是我们所不希望的.解决这个方式大致有3种办法:例如 User OneToMany Book

1:在User static mapping 中对 Many 设置排序规则

class User {
??? String name
??? String password


??? static constraints = {
??????? name nullable: true,null:true
??????? password nullable: true,null:true
??? }


??? static hasMany = [books:Book]
??? static mapping = {
??????? books sort: 'id',order: 'desc'
??? }
}


class Book {

??? String name

??? static constraints = {
?????? name nullable: true,null:true
??? }
}
2: 把User 中的Book设置成SortedSet

class User {

??? String name
??? String password
??? SortedSet books

??? static constraints = {
??????? name nullable: true,null:true
??? }

??? static hasMany = [books:Book]
??? static mapping = {
??????? books sort: 'id',order: 'desc'
??? }
}

class Book {
??? String name
??? static constraints = {
??????? name nullable: true,null:true
??? }
}

3 把book 设置成List

class User {

??? String name
??? String password
??? List books


??? static constraints = {
??????? name nullable: true,null:true
??? }
}

具体问题可以灵活选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读