JDO使用列表查询列表

时间:2013-05-16 11:42:54

标签: java jdo datanucleus

我正在使用JDO来查询我的数据库。实体类看起来像这样:

class Entity
{
  // other members of the class
  List<String> stuff;

  // members and methods
}

我正在针对标准化界面编写Web服务。此界面允许用户基于一组过滤器搜索实体对象。其中一个是可能的东西列表。为了尝试更清楚,用户可以提供字符串列表,我们称之为stuffQuery。用户可以要求服务返回所有Entity对象,其中stuff列表包含stuffQuery列表中的至少一个元素。我在JDO中找不到编写此查询的方法。实际上,它将是所有Entity对象的返回,其中stuff和stuffQuery的交集不为空。

我现在唯一想到的是通过基本循环遍历stuffQuery来构建一个过滤器,将一系列stuff.contains(stuffQuery.get(idx))过滤器OR一起用于JDO查询的过滤字符串。那很难看。我不喜欢它。如果有更优雅的解决方案,我会很高兴知道它。

环境:Java,Spring Framework,Datanucleus

1 个答案:

答案 0 :(得分:1)

我之前遇到过类似的情况。我实际上并没有解决问题,但我以不同的方式查询了我的对象。我建议循环遍历字符串列表以查询对象。