我有两个实体
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);