java - JDO 使用列表查询列表

标签 java jdo datanucleus

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

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

  // members and methods
}

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

我现在唯一的想法是通过基本上循环 stuffQuery 并附加一系列 stuff.contains(stuffQuery.get(idx)) 过滤器来构建一个过滤器,这些过滤器或运算到 JDO 查询的过滤器字符串。那太丑了。我不喜欢它。如果有更优雅的解决方案,我将不胜感激。

环境:Java、Spring Framework、Datanucleus

最佳答案

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

关于java - JDO 使用列表查询列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16586498/

相关文章:

java - Guava :ImmutableList.of(E[]) 的最佳实践

java - 简单的 Pig 脚本抛出 NotSerializedException : org. apache.log4j.Level

java - 如何使用 JDO 和 DataNucleus 在 MySQL 5.5 中设置变量?

performance - H2 数据存储极慢? (不是真的!见编辑)

java - GAE JDO - 建模这些关系的正确方法是什么?

java - 无法对 org.datanucleus.store.rdbms.sql.expression.SubqueryExpression 执行操作 ".isEmpty"

java - 字符串输入、解析、拆分

java - 如何在 ShapeRenderer LibGDX/Java 中显示旋转的多边形

google-app-engine - GAE/JDO - 未找到 jdopersistencemanagerfactory

java - JDO 持久字段返回 null