【问题标题】:Grails Groovy - Getting min and max date for one to many relationshipGrails Groovy - 获取一对多关系的最小和最大日期
【发布时间】:2014-10-23 17:14:47
【问题描述】:

我的域类在 MyClass 和 Event 之间具有一对多关系:

class MyClass {
  String name
  Date firstEvent
  Date lastEvent
  static hasMany = [events : Event]
}

class Event {
  String name
  Date dateCreated
  static belongsTo = [indicator : Indicator]
}

设置 firstEvent 以反映相关事件中的 min(dateCreated) 和 lastEvent 以反映 max(dateCreated) 的最佳方法是什么?

也许有一种方法可以在控制器中访问这些数据,而无需将其放在域类中?

感谢任何帮助。我是 grails 的新手 :)

【问题讨论】:

标签: java grails groovy


【解决方案1】:

namedQueries 应该可以解决问题

class MyClass {
  static hasMany = [events : Event]

  static namedQueries = {

    firstEvent {
      events{
        projections{
          min 'dateCreated'
        }
      }
    }

    lastEvent {
      events{
        projections{
          max 'dateCreated'
        }
      }
    }

  }
}

打电话:

Date first = myClassIntance.firstEvent().get()

【讨论】:

  • 虽然这是一种有效的方法,但这个答案并没有给出一个完整的例子来说明如何使用 namedQuery 来完成它,应该加强它。否则,这是一个低质量的“仅链接”答案。您可以考虑提供一些示例,说明如何使用 namedQueries 解决问题。
  • 谢谢。我已经尝试实施了 aldrin 的建议并且它有效。我也可以试试这个方法来比较:)
猜你喜欢
  • 2022-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2019-01-11
  • 1970-01-01
  • 2021-12-15
相关资源
最近更新 更多