实际上:
return all()。filter(“name”,name).count()== 0;
可能是更好的方式吗?
答案 0 :(得分:1)
关于表现,我会选择以下内容:
return all().filter("name", name).get() == null;
我不确定GAE,但在SQL中,限制1比计数快几倍,显然你不需要知道有多少模型有这个值。
答案 1 :(得分:0)
当你在一个字段上过滤时,你的方式也不错。
如果你知道实体的密钥,你可以使用:
return Model.getByKey(YourClass.class, id) == null
如果要对给定字段进行过滤,也可以仅使用提取键:
return all().filter("name", name).fetchKeys().size() == 0;
但我不知道哪个是性能最好的。它取决于GAE数据存储区关于“计数”或“仅提取键”操作的性能。