Mar*_* M. 3 java google-app-engine objectify google-cloud-datastore
在GAE中,使用Objectify时,您可以查询HashMap吗?如果是这样你会怎么写呢?
ofy().load().type(MyClass.class).filter("hashMapfieldName", "keyQueryinggFor").list();
Run Code Online (Sandbox Code Playgroud)
似乎不工作,而且hashMapfieldName
是一个HashMap<String, String>
.我期待找到hashMapfieldName
包含某个键的实体.
就像嵌入式类一样,Objectify会转换为不可索引Map<String, String>
的低级EmbeddedEntity
对象.但是,如果您@Index您的Map
字段(或嵌入的类字段),Objectify将创建一个合成索引,让您无论如何都可以查询.
下面您的例子,假设你有一个名为映射字段hashMapfieldName
包含字符串映射"key"
到"value"
.此查询语法将返回具有该对的实体:
ofy().load().type(MyClass.class).filter("hashMapfieldName.key", "value");
Run Code Online (Sandbox Code Playgroud)
如果您只是寻找关键存在,请尝试filter("hashMapfieldName.key !=", null)
.
归档时间: |
|
查看次数: |
890 次 |
最近记录: |