Grails GORM - 返回数组属性>的对象数。 0

时间:2018-01-08 11:54:49

标签: database grails hql gorm hibernate-criteria

考虑以下事项;

class Person {
    int id
    String name

    static hasMany = [cars : Car]
}

class Car {
   int id
   String brand

   static belongsTo = Person
   static hasMany = [owners: Person]
}

以上将导致person_cars联接表。所有我想知道的是,该表中是否有任何条目,用文字表示;

目前是否有人拥有汽车。

很高兴使用任何可用的机制(finders / criteria / HQL等)

2 个答案:

答案 0 :(得分:0)

我认为最好添加PersonCar实体。

对于你的问题:

Car.count() > 0
由于汽车属于人,所以不能将任何车的副本添加到该人身上。 如果人可以为空,你可以使用:

Car.countByPersonIsNotNull()

认为如果汽车有人,那么该表中会有一个值。

答案 1 :(得分:0)

知道了!比我想象的简单得多。

 Person.createCriteria().count {
   owners {
     count
   }
 }

这实际上为我提供了person_cars记录的数量。