我正在使用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
答案 0 :(得分:1)
我之前遇到过类似的情况。我实际上并没有解决问题,但我以不同的方式查询了我的对象。我建议循环遍历字符串列表以查询对象。