Я в настоящее время нахожусь в проекте, использующем Jhipster и MongoDB.
У меня есть этот класс как объект:
@Document(collection = "product")
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String id;
@NotNull
@Field("name")
private String name;
@Field("description")
private String description;
@NotNull
@Field("quantity")
private Integer quantity;
@NotNull
@Field("price")
private Double price;
@NotNull
@Field("grade")
private Double grade;
//Getters/Setters/Other Stuff
}
Теперь я хочу сделать свои собственные запросы для поискатовары по некоторым фильтрам (название, сорт, цена), но я не хочу писать один метод для каждой комбинации типа фильтра.
Вот как выглядит мой ProductRepository:
@Repository
public interface ProductRepository extends MongoRepository<Product, String> {
Page<Product> findAllByCategories(Pageable pageable, String categories);
Page<Product> findAllByIdIn(Pageable pageable, List<String> id);
Page<Product> findByNameIgnoreCaseContaining(Pageable pageable, String name);
}
Как вы можете видеть, я уже написал некоторый пользовательский метод, чтобы получить продукты, которые соответствуют некоторым основным критериям.
Мой вопрос: есть ли способ использовать хранилище для проведения исследований с некоторымикритерии (имя + цена или имя + цена + оценка) без написания многих методов?(возможно, с объектом Criteria?)
Спасибо за ответы