У меня есть ниже документ, соответствующий pogo
class Wrapper {
String id //document Id corresponding field
String defaultVersion
String name
List<VersionedInfo> versions
}
class VersionedInfo {
String version
.. few otherproperties
}
На данный момент, чтобы получить документ и узнать версию по умолчанию, соответствующую VersionedInfo, я получаю полный документ и перебираю список свойств версий и сравниваю версию со свойством defaultVerion, т.е. (Groovy)
Wrapper document = repository.findOne ("id")
VersionedInfo defaultVersionedInfo = document.versions.find { it.version == document.defaultVersion }
Есть ли лучшая альтернатива запросу документа, чтобы получить только версию defaultVersion, соответствующую VersionedInfo, с использованием проекций? или QueryDSL?