春季蒙戈条件复杂查询匹配查询实体的内部对象字段



我有两个实体

class EntityA{
@Id
String id;
..... other class fields 
..... getter/setters
}
class EntityB{
@Id
String id;
Integer age;
EntityA entityA;
..... other class fields 
..... getter/setters
}

我正在通过匹配id of entityA对象来查询实体 B

这就是我要做的

Criteria criteria = Criteria.where("age").gte(0).lt(100);
EntityA entityA = new EntityA();
entityA.setId("theIdIHave");
Example<EntityA> eaEx = Example.of(entityA);
criteria = criteria.andOperator(Criteria.byExample(eaEx));
Query query = new Query();
query.addCriteria(criteria);
List<EntityB> res = mongoTemplate.find(query,EntityB.class);

但它抛出

java.lang.RuntimeException: json can't serialize type : class org.springframework.data.domain.Example

两件事 我使用org.springframework.data.domain.Example的方法是否正确? 为什么是错误

试试下面。它将反序列化结果并映射到实体 Bpojo

Query query = new Query();
query.addCriteria(Criteria.where("age").gte(0).lt(100).and("entityA.id").is("theIdIHave");
List<EntityB> res = mongoTemplate.find(query, EntityB.class);

相关内容

  • 没有找到相关文章

最新更新