Нечеткий запрос
Использование Spring Data JPA может сократить написание разработчиков операторов SQL, и даже не нужно писать операторы SQL вообще. Однако в процессе разработки всегда будут различные сложные сценарии и подводные камни всех размеров.
Функциональный модуль в проекте сегодня требует нечеткого запроса. Ключевое слово Fuzzy Query 'Like' в нативном SQL, и интерфейс репозитория Spring Data JPA также имеет подобное соответствующим полям объекта. Но если вы используете его напрямую, то поздравляю, вам повезло, что у вас была ловушка.
Данные пружины JPA нечеткий запрос правильное использование
Во -первых, мы создаем объект для хранения наших данных
/** * Entity * * @author Chentai * @Date 18/04/22 */ @Data @Entity @equalsandhashcode (callsuper = true) public class examentity {@id @generatedvalue (Generator = "uuid") @genericGenerator (name = "uuid", стратегия = "uuid") private String id; частное имя пользователя; Private String DeviceNames;}Затем создайте интерфейс репозитория, соответствующий нашей сущности
/** * @author Chentai * @date 18/04/22 */ @repositorypublic interface exampleRepository extends crudrepository <examententity, string> {/** * Правильное использование Fuzzy Query *, где username не поддерживает Fuzzy Query, DeviceNames поддерживает @ @ @ @wasparame deviname query query query weers provecry -query query query query query query probery -query query -query query -quers Имя пользователя имя пользователя имя пользователя * @return {@link List <hersentity>} */ list <Примерность> FindallbydevicenamescontingingAndusername (String deviceNames, String username); / *** Использование ошибок нечеткого запроса*, где имя пользователя не поддерживает нечеткий запрос, DeviceNames поддерживает нечеткий запрос** @param devicenames fuzzy Query deviceNames* @param username username username* @return {@link liled <exatretentity>}*/ listersement username* @returnermeslik имя пользователя); } Наконец, мы протестировали два метода в эксплуатации в тестовом классе (результаты теста не отображаются в настоящее время) и обнаружили, что метод FindallbyDeviceNamesLikeAndusername не правильно запросил результат, который мы хотели, и полученный результат является результатом точного запроса. И FindallbyDevicEnamescontingingAndusername получает результат нечеткого запроса, который мы хотим.
Суммировать
Если вы хотите использовать нечеткие запросы без написания нативных операторов SQL в вашем проекте, используйте содержащее ключевое слово вместо того, чтобы принять его как должное, что ключевые слова используются и используются на направлении. Как ключевые слова также используются в JPA.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.