2016-07-06 7 views
0

japaneseリポジトリ(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という名前のパラメータ

例として、私は次のコードを使用したい:私は春ブーツは、そのソースコードにこの機能を提供しないこと怖い

@Query("{'store' : ?0, 'app' : ?1 }") 
List<T> findByStoreAndApp(String store, String app); 

答えて

0

@Query("{'store' : :store, 'app' : :app }") 
List<T> findByStoreAndApp(@Param("store") String store, @Param("app") String app); 

の代わりに。

あなたがインターフェイスを作成し、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); 
 
}

しかし、あなたはいくつかの特別なクエリを実行する必要がある場合。あなたはただ@Autowired MongoTemplateとそれ自身の方法を使うことができます。またredisの場合、springbootはMongoRepositoryのようなリポジトリも提供しません。あなたは、クエリ操作のためにStringRedisTemplateのようなテンプレートだけを使うことができます。 春の起動は、NoSqlのJpaRepositoryと同じ機能を追加します。しかし今、この機能を提供していません。

関連する問題