1

我正在使用 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'ed 到 JDO 查询的过滤器字符串来构建过滤器。太丑了 我不喜欢它。如果有更优雅的解决方案,我将不胜感激。

环境:Java、Spring Framework、Datanucleus

4

1 回答 1

1

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

于 2013-05-16T17:40:23.287 回答