2016-07-06 2 views
0

jpa 저장소 (http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/reference/html/jpa.repositories.html 섹션 2.3.5)에서 할 수있는 것처럼 mongodb 저장소에서 @Query 메서드에 명명 된 매개 변수를 사용할 수 있습니까?MongoDb Spring 저장소에 대한 @Query named 매개 변수

@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); 

답변

0

나는 봄 부팅 소스 코드에서이 기능을 제공하는 않는 것을 두려워 .

인터페이스를 생성하고 확장 할 수 있습니다. MongoRepository 간단한 방법을 제공하므로 구현할 필요가 없습니다. JpaRepository를 사용하는 것과 같습니다. 그러나

@NoRepositoryBean 
 
public interface MongoRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID> { 
 
    <S extends T> List<S> save(Iterable<S> var1); 
 

 
    List<T> findAll(); 
 

 
    List<T> findAll(Sort var1); 
 

 
    <S extends T> S insert(S var1); 
 

 
    <S extends T> List<S> insert(Iterable<S> var1); 
 
}

, 당신은 특별한 쿼리를 수행해야하는 경우. @ MongoTemplate을 @Autowired 할 수 있으며 자체 메서드를 사용할 수 있습니다. 그리고 redis의 경우 springboot는 MongoRepository와 같은 저장소를 제공하지 않습니다. 쿼리 작업을 위해 StringRedisTemplate과 같은 템플릿 만 사용할 수 있습니다. 봄 부팅은 NoSql 용 JpaRepository와 같은 기능을 추가합니다. 하지만 지금은이 기능을 제공하지 않습니다.