JDO + GoogleAppEngine - 按集合中的值搜索类

时间:2010-10-28 15:52:28

标签: java google-app-engine jdo

我正在Google App Engine上运行应用程序,而且我在使用JDO获取数据时遇到问题。我有类Message,它有属性private List<String> labels;。现在我想要一些搜索功能,它将一个字符串(标签)作为参数,并搜索所有消息以获取具有给定标签的消息。问题在于JDO查询,现在我有 this(string this.label是一个搜索参数):

   String query = "select from " + Message.class.getName() + " where (labels.contains('" + this.label + "')) ";

它适用于localhost,但不适用于GAE(返回NULL)。另一个(和天真的)尝试是

   query = "select from " + Note.class.getName() + " where labels=='" + this.label + "'";

它也只适用于localhost,而不是GAE

有人知道怎么做吗?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

基本上你的陈述是错误的。它应该是这样的:

String query =“SELECT FROM”+ Message.class.getName()+ “WHERE labels.contains(i)&amp;&amp; i.label == labelParam”+ “VARIABLES”+ Labels.class.getName()+“i”+ “PARAMETER java.lang.String labelParam”

祝你好运