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 次 |
| 最近记录: |