繁体   English   中英

Grails Hql查询一对多关联

Grails Hql query for one to many association

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个培训领域课程

    class Training {

     String type
     Date createdOn
     Date modifiedOn

    static belongsTo = [course: Course]
    static hasMany = [attachments: Attachment]
  }

我有课程领域课程

     class Course {

          String name

          static hasMany = [trainings: Training, tracks: Track]
          static belongsTo = Track
   }

和跟踪域类

    class Track {
        String name 
    }

现在我有一个过滤器(这是gsp页面,它会将id作为参数发送给控件),该过滤器根据课程和轨迹选择训练

现在说params.courseId = 1和3

所以我写查询

   def query = "FROM Training AS t WHERE  t.course.id IN (1,3)"
   trainingList = Training.findAll(query)

这是正确的ii获得所需的输出。

现在当我说我有轨道ID时,params.trackId = 1,2

    def query = "FROM Training AS t WHERE  t.course.tracks.id IN (1,2)"
    trainingList = Training.findAll(query) 

这是行不通的..如何写正确的查询,我有上述关联。

2 个回复

区别在于您要查询一对多关联,即“许多”方面。

假设的HQL:

def query = "FROM Training AS t WHERE exists " +
  "(from t.course.tracks AS tr where tr.id IN (1,2))"

或条件:

def trainings = Training.withCriteria {
   course {
     tracks {
       in('id', [1, 2])
     }
  }
}

我还没有进行更深入的研究,但是此查询的结果与您首先编写的查询相同

def trainingList = Training.findAll ("from Training as trnin "+
"join trnin.course.id as trinincr"+
"join trinincr.tracks.id"+
" where trnin.course.id in (1,3)")
1 Hibernate在HQL查询中数一数关联吗?

一篇文章有很多赞 。 我正在尝试创建一个hql查询,该查询对文章具有的最高投票数进行计数(count(article.upvotes))! 我尝试的查询在下面列出。 我没有费心添加整个班级-所有必需的代码都在下面。 运行此查询将产生以下错误: 我在这里做错了什么? ...

2 GORM - 在Grails中查询一对多关联

我有课程领域 类别域类 所以这里的课程可以有多个类别。 现在我想找到所有类别为4的类别的课程 我尝试编写HQL查询: 这给出了一个错误。 如何编写正确的HQL或正确的withCriteria查询? ...

3 如何为多对多关联编写HQL查询

因此,我花了几个小时来尝试为多对多关系编写HQL查询。 对于所有我尝试过的查询,即使阅读了休眠文档也没有任何效果。 有人可以帮我吗? 先感谢您。 我尝试了内部连接,具有和不具有提取的外部连接。 我认为这个问题可能与香水类中的一对多关系有关。 没有获取/设置者的类别类 ...

4 HQL一对多查询

我有一个CarModel和CarModelColor域关系是CarModel hasMany CarModelColor 现在,如果您通过2种颜色(例如red and black我们需要所有至少具有两种颜色的模型。 请注意,用户可以向该函数传递n个颜色,结果需要至少n个颜色。 ...

5 Grails GORM使用HQL查询关联的多面

我的课程和类别之间存在一对多的关系 我需要根据类别列表查询课程。 我已经尝试过查询 但是此查询返回课程和课程类别-仅想知道如何创建仅返回课程的查询? ...

6 hql查询一对多关系

这是我的类别实体 这是我的产品实体 现在您可以看到类别和产品之间存在一对多的关系。我想获取一个具有产品ID的类别。 我写了一个查询 但是此查询不起作用。我在代码中做错了什么? ...

7 在hql查询中访问联接表以获取Grails中的多对多关系

我在grails中有2个具有多对多关系的领域类:牌组和卡片。 设置如下所示: 删除卡片组后,我还要删除不再属于卡片组的所有卡。 完成此操作的最简单方法是编写类似以下sql的内容: 但是,我无法弄清楚如何编写可解析为该SQL的HQL查询,因为联接表deck_cards没有相 ...

8 Grails:与String进行一对多关联查找

我有以下域类: 我想找到每个具有角色ROLE_ADMIN用户。 动态查找器有可能做到这一点吗? user.findAllByRoles('ROLE_ADMIN')似乎给我一个错误。 UPDATE:这是很容易查询的关联,其中类A具有类的列表B实例和两个A和B是域类。 但是这里的 ...

9 在grails中以一对多关联检索活跃的孩子

我有以下课程 我想检索作者的现成书籍。 您能建议我对此查询吗? 我正在尝试在Author中添加方法,如下所示 或如果还有其他方法可以检索我的书..仅作为活动书。 请帮帮我 以下是带有列的表 书 名称,audit_status,author_id ...

10 Grails 4 中的多对多关联

我正在使用 Grails 4.0.1 开发一个新项目。 在这个项目中,我有两个域类,第一个是Person ,第二个是Document 。 在这些类之间存在多对多关联。 但是,我还需要在每个文档中存储每个人的顺序(位置)。 有没有办法在 Grails 4 中模拟这种行为? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM