0

我有问题。如果可以,请你帮助我。

我有 3 个域名:

  class DomainA {
    long id
    String propA1
    String propA2
    static hasMany = [domaniBs:DomainB]
  }

  class DomainB {
    long id
    String propB1
    String propB2
    static belongsTo = [forgeinKeyToDomainA:DomainA] 
    static hasMany = [domaniCs:DomainC]
  }

  class DomainC {
    long id
    String  propC1
    String propC2
    static belongsTo = [forgeinKeyToDomainB:DomainB]
  }

想要从 DomainC 中获取 propA1="value1" 的所有记录

映像 SQL 代码:

Select DomainC.* 
from DomainA,DomainB,DomainC
where DomainA.id=DomainB.forgeinKeyToDomainA
and DomainB.id=DomainC.forgeinKeyToDomainB
and DomainA.propA1="value1"

可以执行grails中的SQL代码,但是想用Hibernate查询。

4

1 回答 1

0

像这样的东西。

总部:

DomainC.executeQuery("""
Select c
from DomainA a join a.domainB b join b.domainC c
where a.propA1 = "value1"
""")

动态查找器

DomainC.findAllByDomainBInList(DomainB.findAllByDomainAInList(DomainA.findAllByPropA1("value1"))
于 2013-04-27T06:52:17.290 回答