我可以使用多个属性进行过滤吗? (模拟“AND” 操作)
我试过了:
ofy().load().type(Produit.class).filter("idListe in",collectionProduits.getIdListes()).filter("supprime !=",true).list();
这是我的实体:
@Entity
public class Produit implements Serializable{
private static final long serialVersionUID = xxxxxxxxxxxxxx;
@Id
private Long id;
@Index
private Long idliste;
@Index
private Boolean supprime;
public Produit() {
// TODO Auto-generated constructor stub
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getIdliste() {
return idliste;
}
public void setIdliste(Long idliste) {
this.idliste = idliste;
}
public Boolean getSupprime() {
return supprime;
}
public void setSupprime(Boolean supprime) {
this.supprime = supprime;
}
我有这个严重的错误:
来自servlet java.io.IOException的未捕获异常: com.google.appengine.repackaged.org.codehaus.jackson.map.JsonMappingException: 找不到匹配的索引。此查询的建议索引是:
<datastore-index kind="Produit" ancestor="false" source="manual"> <property name="idliste" direction="asc"/> <property name="supprime" direction="asc"/> </datastore-index>
(通过参考链: com.listecourses.model.CollectionProduits [“produits”])at com.google.api.server.spi.response.ServletResponseResultWriter.writeValueAsString(ServletResponseResultWriter.java:187) 在 com.google.api.server.spi.response.ServletResponseResultWriter.write(ServletResponseResultWriter.java:74) 在 ....
看到此错误后,我将datastore-indexes.xml更改为:
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes autoGenerate="false">
<datastore-index kind="Produit" ancestor="false" source="manual">
<property name="idliste" direction="asc"/>
<property name="supprime" direction="asc"/>
</datastore-index>
</datastore-indexes>
我在创建此文件后重新部署。我等了一小段时间来生成索引。我对appengine的日志也有同样的错误。
更多,我在eclipse上有这个错误日志:
找不到[C:\ workspace \ example-AppEngine \ war \ datastore-indexes.xml]的项目