Я разрабатываю REST-приложение, используя Spring Boot и MariaDB в качестве хранилища данных.Я выбрал весенние данные jpa для связи с хранилищем данных.В моем хранилище данных есть 1 таблица, в которой есть 2 столбцаРезультирующий набор, когда выполнить его через приложение, но получить, когда я запустил запрос в редакторе ДБ Мария Мария.параметр поиска для функции json предоставляется как позиционный параметр, который он не обнаруживает
Мой класс сущности выглядит следующим образом:
@Entity
public class Data{
private String id;
private String jsonVal;
....
Хранилище данных Spring работает, как показано ниже,
@Repository
public interface DataRepo extends JpaRepository<Data, String>{
@Query("select * from data where json_contains(jsonval, '{\"nm\"}':?1)", nativeQuery=true)
public Data findByName(String name);
}
Строки в базе данных имеют следующие значения
1st row -> "fdsgs-12232-sdsdf" {"personid":"100", "nm":"XXX", "age":"13"}
2nd row -> "sdfsd-88345-sdfse" {"personid":"101", "nm":"YYY", "age":"14"}
Метод тестирования: 1) Когда я вызываю метод репозитория "findByName", передавая "XXX", яне получить строку обратно в наборе результатов.Когда я пытаюсь выполнить тот же запрос в heidisql, я получаю 1-ю строку в качестве результата.Я посмотрел на следующую ссылку stackoverflow, относящуюся к той же самой проблеме и точно следую, но не повезло.
ссылка stackoverflow имеет дело с аналогичной проблемой
2) Когдапротестировано со следующим комбо, я могу получить результат, чтобы убедиться, что позиционные параметры как таковые работают в моем случае,
@Query("select * from data where id=?1)", nativeQuery=true)
public Data findByName(String id);
}
Я не знаю, какая конфигурация здесь отсутствует.Последние 2 дня я застрял в этой проблеме, и никаких дополнительных исключений в журналах я добавил к своему беспокойству.