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这些查询的限制,所以任何提示或帮助将是非常欢迎的。
问候 克拉斯