Разница в результатах критериев в mongodb & hibernate
Мы используем mongodb в нашем приложении Grails 2.3.5 без спящего режима. При использовании проекции в критериях с минимум двумя полями возвращаемый результат отличается от возвращенного в критериях гибернации. Например:
List usersList = User.withCriteria {
projections {
id() // For mongodb
//property("id") // For hibernate
property('name', 'fullName')
}
def now = new Date()
between('joinDate', now-365, now)
maxResults(2)
}
Учитывая, что возвращаются два экземпляра, соответствующие вышеуказанным критериям:
Результат, возвращаемый при использовании mongodb, будет:
[[1, 2], ['XYZ', 'ABC']]
Пока возвращаемый результат при использовании hibernate будет:
[[1, 'XYZ'], [2, 'ABC']]
Я не уверен, что это из-за реализации или это ошибка.
Благодарю вас,
SA
1 ответ
Решение
Какая версия плагина MongoDB? Это была ошибка в прошлом, но была исправлена см.
который проверяет правильность поведения
Проблема https://jira.grails.org/browse/GPMONGODB-294 была исправлена в версии 3.0.0 плагина