このクエリは機能します。fullPath
フィールドはList<String>
:です。
KeyLookup lookup
= ofy().load().type(KeyLookup.class).filter("fullPath IN", key.getFullPath()).first().get();
上記のクエリは、と同じString
要素をList<String>
持つエンティティもフェッチしkey.getFullPath()
ますが、リストに同じ文字列があり、リストにさらに文字列があるエンティティもフェッチします。
「これ以上でもそれ以下でもない」など、リストにまったく同じ要素を持つエンティティのみをフィルタリングするにはどうすればよいですか。
アップデート:
例えば
1つのエンティティ(たとえばObject1)フィールドfullPathには次のものが含まれます。
- "1"
- "二"
- "三"
別のエンティティ(たとえばObject2)フィールドfullPathには次のものが含まれます。
- "1"
- "二"
- "三"
- "四"
また、key.getFullPathには次のものが含まれます。
- "1"
- "二"
- "三"
- "四"
次に、上記のクエリが返さObject1
れますObject2
が、必要なのは、返されるだけです。Object2