我正在使用 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/