当我创建一个spring数据存储库的方法时 findByName(…)
一切正常。但是当使用 findByField1AndName(…)
spring data mongodb仅为最后一个参数生成查询:
{ name : 'qwerty' }
但我预料到了
{ field1 : 'something', name : 'querty' }
有什么问题吗?请帮忙。
upd1:如果有人遇到这样的问题,可以使用@query annotation手动构建查询,示例如下:
@Query("{ region: ?0, product: ?1, direction: ?2, deliveryCondition: ?3, sortament: ?4}")
QuotationKey findByRegionAndProductAndMarketDirectionAndDeliveryConditionAndSortament(
Geography region, Product product, MarketDirection direction,
DeliveryCondition deliveryCondition, Sortament sortament);
2条答案
按热度按时间li9yvcax1#
您似乎无意中发现了1.0.2和1.1.m1中存在的错误。修复程序已经发布了一段时间,所以升级到最新版本(1.0.4,1.1rc1)应该可以解决这个问题。
dwbf0jvd2#
不确定我是否遗漏了什么。我试过1.0.3和1.0.4,但仍然不起作用。目前唯一有效的版本看起来像1.0.1
当我在1.0.3和1.0.4中尝试findbyzipcodeandname这样的东西时,我在日志中看到了这一点
在1.0.1中,它按预期工作:
显然,在新版本中,只有第一个字段被解释和查询。