N1QLとSpring Dataを使用したCouchbaseではまだ比較的新しいです。私はすべての異なるフィールドのリストを取得しようとします。私は結果がかなり大きいと予想しているので、エンティティ全体を取得したくありません。Couchbase + Spring Data:@Queryを使用してエンティティ全体ではなくフィールドのみを取得します。
マイドキュメントは
{
"fieldname": "something",
...
}
よう
「正確に1結果を返すことが期待されているプリミティブ型を返す クエリ」マイリポジトリクラスが@Repository
@N1qlPrimaryIndexed
public interface MyRepository extends CouchbasePagingAndSortingRepository<MyEntity, String> {
@Query("select distinct fieldname from mybucket")
Object findAllDistinctFields();
}
である。しかし、私は常に例外を取得見えます
org.springframework.data.couchbase.core.CouchbaseQueryExecutionException: Query returning a primitive type are expected to return exactly 1 result, got 100014
at org.springframework.data.couchbase.repository.query.AbstractN1qlBasedQuery.executeSingleProjection(AbstractN1qlBasedQuery.java:193)
at org.springframework.data.couchbase.repository.query.AbstractN1qlBasedQuery.executeDependingOnType(AbstractN1qlBasedQuery.java:134)
at org.springframework.data.couchbase.repository.query.AbstractN1qlBasedQuery.execute(AbstractN1qlBasedQuery.java:93)
リターンする方法はありますかすべてのフィールドではなく、エンティティ全体ではありませんか?私が 'バックインスクからselect distinct sku'というクエリを実行しようとすると、 CouchbaseのGUIではうまくいきます!
私はspring-data-couchbase 2.1.5とCouchbase 4.5.1-2844で作業しています。