0
我與App Engine(Java/JDO)的工作,並試圖做一些查詢與列表。的AppEngine JDO-QL:問題與多個AND和OR查詢
所以我有以下類:
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
public class MyEntity
{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key key;
@Persistent
List<String> tags = new ArrayList<String>();
@Persistent
String otherVar;
}
以下JDO-QL工作對我來說:
(tags.contains('a') || tags.contains('b') || tags.contains('c') || tags.contains('d')) && otherVar > 'a' && otherVar < 'z'
這似乎返回所有結果,其中標籤具有一個或多個字符串與一個或更多的給定值,並與不平等搜索其他變量一起
但以下不起作用:
(tags.contains('a') || tags.contains('_a')) && (tags.contains('b') || tags.contains('_b')) && otherVar > 'a' && otherVar < 'z'
在這種情況下,我希望所有匹配至少有一個a(a或_a)和一個b(b或_b)與不平等搜索一起使用。
但問題是,我也找回了結果,其中有一個,但沒有B,這不是我想要的。
也許我錯過了一些東西明顯,或者做一個編碼錯誤,或者可能有關於如何寫的AppEngine這些查詢的限制,所以任何提示或幫助將是非常歡迎的。
問候 克拉斯