HQL和hasMany属性

时间:2013-12-10 12:56:13

标签: hibernate grails hql

我有这个对象:

class Employee {

    String firstName
    String lastName
    String username
    String password
    String email

class HappyHourGroup {

    enum EventEnum {
        HAPPY_HOUR, RESTAURANT_CLOSE, OTHER
    }

    String name
    Employee creator
    Date date
    Double recieveBack
    Double totalCost
    EventEnum event

    static hasMany = [employees: Employee]

我想得到一个给定的员工对象,他是该组员工中的最新组(日期)。我尝试了很少的HQL,但它根本不起作用。 我该怎么做才能实现这个目标?

由于

1 个答案:

答案 0 :(得分:1)

如果我理解你,你需要many-to-many关系,所以添加

static hasMany = [groups: HappyHourGroup]
static belongTo = HappyHourGroup

给员工。请注意, belongsTo 可能会转到 HappyHourGroup ?这取决于你想要的级联行为。 要获取组列表,请尝试以下代码:

Employee employee = employees.findBy.....
HappyHourGroup.withCriteria {
  employees {
    eq('id',employee)
  }
  maxResults(1)
  order("date", "desc")
}

有关详细信息,请参阅criteria