Grails/groovy/GORM执行类似内部联接的查询

Grails/groovy/GORM执行类似内部联接的查询,grails,gorm,inner-join,Grails,Gorm,Inner Join,我试图从grails中的3个域中获取一个列表(类似于任何常规编程语言中的内部连接) 这是我的域名 class Category{ Integer id String name } class Tag{ Integer id String name } class Content{ Integer id Category category Tag tag String text } //-------- def content

我试图从grails中的3个域中获取一个列表(类似于任何常规编程语言中的内部连接)

这是我的域名

class Category{
    Integer id
    String name  
}
class Tag{
    Integer id
    String name  
}
class Content{
    Integer id
    Category category
    Tag tag
    String text
}
//--------
def contentInstance = Content.findAllWhere(id:id.toInteger())
我希望列表中的Content.text、Category.name和Tag.name能够在视图中显示
谢谢

您可以使用条件查询api选择自定义列。 您可以像这样使用:

Content.withCriteria {
projections {
  property('text')
    category {
      property('name')
    }
    tag{
      property('name')
    }
  }       
}
也可以创建别名,如:

Content.withCriteria {
createAlias("category","categoryAlias")
createAlias("tag","tagAlias")
projections {
  property('text')
  property('categoryAlias.name')
  property('tagAlias.name')

} 
and{
    eq('category.id','categoryAlias.id')
    eq('tag.id','tagAlias.id')
  }    
}
希望你有这个想法