Производные запросы не работают с DBRef
Я использую Mongo с Spring Data.
У меня есть две (первого класса) сущности (@Documents) Entity1 и Entity2, где Entity1 имеет ссылку (@DBRef) на Entity2 внутри. Все работает нормально, но при выполнении производных запросов, таких как:
public List<Entity1> findByEntity2Property1(String property1)
Приведенный выше запрос не возвращает результатов, хотя есть документы с заданными параметрами запроса. Это почему?
1 ответ
Я не думаю, что запрос может работать, поскольку вы ожидаете, что он будет работать, поскольку MongoDB в значительной степени не позволяет ограничивать результаты по свойствам связанных документов, на которые указывают через DBRef
, Таким образом, вы должны запросить все Entity2
экземпляры, соответствующие заданному значению свойства Property1
а затем запросить Entity1
экземпляры, соответствующие DBRef
ed свойство против результатов первого запроса.