Есть ли способ найти пример в QueryDSL? - PullRequest
0 голосов
/ 17 апреля 2019

Можно ли создать предикат QueryDSL, используя пример объекта? Например:

Customer customerExample = new Customer();
customerExample.setName("John");
customerExample.setCountry("EUA");
QCustomer customer = QCustomer.customer;
Customer bob = queryFactory.selectFrom(customer)
  .where(customer.example(customerExample )) // matches customers with name like "John" and country like "EUA"
  .fetch();

Если нет, есть ли альтернатива, кроме использования SpringJPA?

1 Ответ

0 голосов
/ 19 апреля 2019

Вы можете попробовать что-то вроде

List<Tuple> searchResults = queryFactory.selectFrom(customer)
      .where(customer.name.eq(customerExample.getName()), customer.country.eq(customerExample.getCountry())
      .fetch();

Кроме того, он вернет List<Tuple> вместо «Клиент».Поэтому вам придется сопоставить результаты с «Заказчиком» впоследствии.

...