是否可以在 mongodb 存储库中为 @Query 方法使用命名参数,就像我们对 jpa 存储库所做的那样(http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/reference/html/jpa.repositories.html 第 2.3.5 节)?
作为示例,我想使用以下代码:
@Query("{'store' : :store, 'app' : :app }")
List<T> findByStoreAndApp(@Param("store") String store, @Param("app") String app);
而不是:
@Query("{'store' : ?0, 'app' : ?1 }")
List<T> findByStoreAndApp(String store, String app);
最佳答案
这是可能的,尝试一下:
@Query("{'store' : :#{#store}, 'app' : :#{#app} }")
List<T> findByStoreAndApp(@Param("store") String store, @Param("app") String app);
@Query 中对 SpEL 表达式的支持是在 Spring Data MongoDB 1.8 中引入的。
关于spring - MongoDb Spring 存储库的 @Query 命名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38227385/