Поиск строки в столбце списка строк с помощью Spring jpa-запроса - PullRequest
1 голос
/ 21 апреля 2020

У меня есть приложение Spring Boot, и я использую Spring Data JPA для запроса базы данных PostgreSQL. У меня есть столбец типа списка в моей базе данных. Теперь мне нужен запрос для поиска всех тех строк, где мой входной параметр присутствует в этом списке.

например. У меня есть столбец типа List, содержащий любое из этих значений: ["cat", "dog", "cow"]. Мне нужно найти все строки, в которых «кошка» - одна из списка.

Можете ли вы помочь мне с форматом этого запроса? Заранее спасибо.

1 Ответ

0 голосов
/ 21 апреля 2020

Из того, что я мог понять, у вас есть таблица БД, скажем, Sample. Теперь в этой таблице есть несколько столбцов с одним столбцом, значения которого могут быть «кошка», «собака», «корова». Давайте предположим, что имя столбца будет «sampleName».

Итак, в вашем коде у вас должен быть класс @Entity для Sample с @Column sampleName и соответствующий репозиторий JPA - SampleRepository.

Теперь код требования должен выглядеть следующим образом показано ниже:

public interface SampleRepository extends JpaRepository<Sample, Long> {
     Optional<Sample> findBySampleName(String sampleName);
}

В вышеприведенном репозитории JPA я предположил, что в образце вашей сущности есть поле @Id типа Long. Кроме того, я использовал стратегию имени метода. Spring boot автоматически преобразует имя этого метода в запрос SQL во время выполнения, например - SELECT * FROM sample WHERE sampleName = 'cat'. Это значение cat будет предоставлено вашему методу репозитория в качестве аргумента из слоя @Service.

Надеюсь, это поможет!

В дополнение к этому вы также можете выбрать использование метода собственных запросов. Пожалуйста, обратитесь - https://www.baeldung.com/spring-data-jpa-query для более подробной информации.

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