Как создать собственный запрос Spring JPA, используя «IN»? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть параметр целых чисел. Мне нужно написать собственный запрос Spring JPA, где будет эквивалентный SQL. , , AND x.propertyStatusId IN (1,2). , ,

Я вижу в документации Spring Data JPA ключевое слово "IN", как в "findByAgeIn(Collection<Age> ages)", что переводится как "где x.age in? 1", но я получаю ошибку. Я использую массив списков целых чисел.

ArrayList<Integer> propertyStatusId = new ArrayList<Integer>();
propertyStatusId.add(1);
propertyStatusId.add(2);
findByPropertyOwnerIdAndIn(propertyStatusId)AndListingDateGreaterThanEqual(user.getId(),propertyStatusId, ListingDate, pageable);

1 Ответ

1 голос
/ 08 мая 2019

Предполагая, что у вас есть сущность с именем Product, определенная следующим образом:

@Entity
public class Product {

    @Id
    @GeneratedValue
    private Integer id;
    private String title;
    private String description;
    private Date createDate;

// getters & setters 

}

Если вам нужно выполнить запрос на основе title, List of ids и greater than or equal to createDate, тогда вы можете определитьметод, как показано ниже:

List<Product> findByTitleAndIdInAndCreateDateGreaterThanEqual(String title, List<Integer> ids, Date createDate);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...