我有一个 Spring Data MongoDB 存储库,我想使用定义为对象的搜索条件进行查询。
详细信息:
我有一个模型类:
@Document
public class ModelClass {
@Id
private String id;
private String field1;
private String field2;
...
private String field10;
// getters and setters
}
我还有一个 MongoRepository 来存储此类的实例:
public interface Repo extends MongoRepository<ModelClass,String> {}
我想使用 ModelClass 实例作为搜索条件来查询存储库。此类实例可能并非在所有字段中都有值(某些字段可能包含 null)。所以,在 Repo 界面中,我需要类似的东西:
List<ModelClass> findByXXXX(ModelClass criteria);
目标是查询存储库,而无需编写所有可能的字段组合。
最佳答案
对于非常动态的查询,Spring Data JPA 与 Querydsl 集成。它允许您动态定义谓词并将它们作为 MongoDB 查询执行。 reference documentation有详细信息。
关于java - Spring数据MongoDB : Query by class instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21335164/