我必须为对象列表编写条件查询

时间:2019-02-18 07:24:57

标签: mongodb spring-boot criteria hibernate-criteria

我有A类和B类,而b类是Objects列表的一种类型,作为b类中的一个属性。我必须编写一个条件查询以在A类服务类的B类内部查找数据< / p>

class B {
String id;
String dataVal;
String value;
//setter and getter
}
Class A {
String id;
String Name;
private List<List<B>> b;
//setter and getter
}

我的查询是

for (int i = 0; i < keyList.size(); i++) {
            query.addCriteria(Criteria.where("B")
                    .elemMatch(Criteria.where("dataVal").is(keyList.get(i)).and("value").is(valueList.get(i))));
        }
        MongoTemplate MONGO_TEMPLATE = null;
        try {
            MONGO_TEMPLATE = multipleMongoConfig.secondaryMongoTemplate();
        } catch (Exception e) {
            e.printStackTrace();
        }
        List<A> AModel = MONGO_TEMPLATE.find(query, A.class);
        return AModel;
    }

然后过滤器会将键和值的列表作为queryparameter

0 个答案:

没有答案