简化的域模型:“事务处理”(如在交易)的hasMany“TxnStatus”。 TxnStatus有一个DATETIME
这是一个传统的映射,所以我不能改变DB,在事务处理的映射:
static mapping = {
txnStatus column: 'MessageID', ignoreNotFound: true, fetch: 'join'
}
我需要基于大量的动态构建的标准,目前使用GORM的“其中”查询来获取Txns,效果很好; 但我需要也只能得到最新 txnStatus。
尝试:
def query = Txn.where {
txnStatus { dateTime == max(dateTime) }
}
得出: java.lang.ClassCastException: org.hibernate.criterion.DetachedCriteria cannot be cast to java.util.Date
也尝试:
def query = Txn.where {
txnStatus.dateTime == max(txnStatus.dateTime)
}
这使:
Compilation Error: ...
Cannot use aggregate function max on expressions "txnStatus.dateTime"
在这个阶段,我想换到HQL的...任何帮助赞赏!