在mongodb标准中使用结果转换器

时间:2014-05-13 06:13:19

标签: grails grails-2.3

我们在没有休眠的Grails 2.3.5应用程序中使用MongoDB。有没有办法使用resultTransformer将属性投影转换为Map,就像在hibernate中一样。

例如:

  User.withCriteria {
        resultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)
        projections {
            property('name', 'fullName')
        }
        def now = new Date()
        between('joinDate', now-365, now)
  }

这适用于休眠。 Grails MongoDB是否支持此功能,或者对此有一些替代方法。

1 个答案:

答案 0 :(得分:1)

没有ResultTransformer是Hibernate特定的API,因此无法使用。您可以编写一个通用的PostQuery事件监听器(请参阅http://grails.github.io/grails-data-mapping/api/org/grails/datastore/mapping/query/event/PostQueryEvent.html),它可以转换结果并注册一个监听器(http://grails.github.io/grails-data-mapping/api/org/grails/datastore/mapping/engine/event/AbstractPersistenceEventListener.html

但这是一种通用方法,而不是真正按每个查询进行