Jpa репозиторий метод findBy с несколькими сигнатурами или операторами? - PullRequest
0 голосов
/ 26 мая 2018

У меня есть класс Entity для Product:

@Entity
public class Product {

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Integer ID_product;

  @NotNull
  private String prodName;

  @NotNull
  private String prodDesc;

  @NotNull
  private Integer price;

  @NotNull
  private String prodBrand;

  @NotNull
  private String prodImage;

  @ManyToOne
  private Category category;

Я хочу, чтобы контроллер выглядел следующим образом:

List<Product> productList = productRepository.findByProdNameOrProdBrandContains(search);
model.addAttribute("products" , productList);

Как мне написать методы findBy в моем репозитории, еслиЯ хочу найти ключевое слово prodName ИЛИ prodBrand?Я представляю себе что-то вроде этого:

List<Product> findByProdNameOrProdBrand(String prodName || String prodBrand);

Должен ли я создать другую функцию / модель или что-то еще, и если да, то как я могу использовать обе функции / модели в моем тимьяновом листе?Любая помощь приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 26 мая 2018

Просто создайте следующий метод в репозитории:

List<Product> findByProdNameOrProdBrand(String prodName, String prodBrand);

Но я предлагаю вам переключиться на Sepcification<T> при запросе с более чем 3 условиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...