@Query не принимает LIKE для точного поиска зерна - PullRequest
0 голосов
/ 12 апреля 2019
  1. Когда я запускаю это, я могу получить результат, но только когда я набираю полное имя ..

  2. @Query(value = "SELECT * FROM Student WHERE first_name=?1", nativeQuery = true) public List<Student> findByFirstNameLike(String searchName);

  3. Теперь я попытался добавить оператор like

  4. @Query(value = "SELECT * FROM Student WHERE first_name like=?1", nativeQuery = true) public List<Student> findByFirstNameLike(String searchName); }

  5. Я ищу ученика Даниэля, набираю Dan и нажимаю кнопку поиска, и это исключение

  6. java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '='Dan'' at line 1

  7. Я даже пытался изменить = на%, как это ..

  8. WHERE first_name like%?1

  9. пункт 2 работает, но пункты 4 и 6 дают мне исключение SQLSyntaxErrorException, как мне решить эту проблему? спасибо

  10. Я также пытался использовать аннотацию @Param, как упомянуто в этой ссылке, и все еще получаю исключение синтаксиса https://stackoverflow.com/a/38115592/4325878

Ответы [ 2 ]

3 голосов
/ 12 апреля 2019

Этот запрос неверен:

"SELECT * FROM Student WHERE first_name like=?1"

Вы не можете поставить знак равенства после ключевого слова like.Это должно быть так:

"SELECT * FROM Student WHERE first_name like ?1"

Если вы поместите "%", то это должно быть частью параметра.

Также посмотрите на это:

public List<Student> findByFirstNameLike(String searchName);

круглые скобки не сбалансированы.В будущем, пожалуйста, предоставьте совместимые фрагменты кода ...

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

Вы должны попробовать, как я написал ниже, это поможет вам, я надеюсь ...

@Query(value = "SELECT * FROM Student WHERE first_name= :searchName%", nativeQuery = true)
public List<Student> findByFirstNameLike(String searchName);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...