私は間違った道を完全に下っていますか? これは機能しますか?春データCouchbase findByIdは常にnullを返します
私はブール
例えばに基づいて選択を制限し、クエリを構築しようとしていますfindByIdAndFieldIsTrue(id)
これは常に値を返しません。私がこれを狭めてやればfindById(id)
私はまだ奇妙に見える結果は得られません。私はメソッド名にId &フィールドの多くの置換を試みましたが、何もしませんでした。
Entity {
@Id
String id
boolean field
}
interface EntityRepository BaseRepository, Repository {
findByIdAndFieldIsTrue(id)
}
私は多分findOne方法を妨害されたBaseRepository
考えず試したが、運。
アップデート:私は、クエリ
{"statement":"SELECT META(`mybucket`).id AS _ID, META(`mybucket`).cas AS _CAS, `mybucket`.* FROM `mybucket` WHERE (`id` = \"entity::9627ff50-531d-4191-a9dc-07b48ba77fe9\") AND `_class` = \"com.myrepo.repository.api.Entity\"","scan_consistency":"statement_plus"}
私は自分の答えをクエリで更新しましたが、メタの詳細を変更しましたが、あなたが探しているものには影響しません。 findOneを使用して、現在の私の現在の仕事である結果をフィルタリングする場合は –
うん、 "_ID"ではなく "id"にwhere句を生成します...おそらく '@Field(" _ ID ")'アノテーションを使用すると、そのコーナーケース(idフィールドは通常他のフィールドから独立して管理されますが) –
実際には '_ID'を使用してwhere句が生成されますが、まだ結果は返されません。私はcouchbase管理コンソールで既知の既存のIDを持つこのクエリで試しました 'SELECT * FROM myBucket WHERE _ID =" product :: 0919893e-9411-4c41-8403-6753d7e1910f "'結果はありません –