Spring boot не может найти функцию postgresql (несоответствие типов данных) - PullRequest
0 голосов
/ 16 ноября 2018

Разработал функцию.Я переместил все SQL-коды, которые я написал здесь, на стороне Java.В созданной мной функции первый и второй параметры ожидают больших целочисленных данных.Я пытаюсь отправить давно определенные данные со стороны загрузочной пружины в большое целое число и отправить их этой функции.В то же время, это дает мне ошибку "org.hibernate.exception.SQLGrammarException" .Я упомянул содержание ошибки ниже.

ОШИБКА 21952 --- [nio-8080-exec-2] oaccC [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета[dispatcherServlet] в контексте с путем [] выдало исключение [Ошибка обработки запроса;вложенное исключение: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: ошибка при вызове CallableStatement.getMoreResults] с первопричиной org.postgresql.util.PSQLException: ERROR: функция fn_subscriber_to_iservice (переменная, двузначный символ, изменяющийся, изменяющийся в двухзначном порядке, изменяющийся на два символа, изменяющийся на две цифры, изменяемый символ, изменяющийся на две цифры, изменяющийся на две цифры, изменяющийся на две цифры, изменяющийся символ, изменяющийся на два числа, изменяющийся на две цифры, изменяющийся на две цифры, изменяющийся символ, изменяющийся на два числа, изменяемый символ, изменяющийся на два числа, изменяющийся на два числа, символ,точности, двойной точности, двойной точности, числовой, числовой, bytea) не существует İpucu: ни одна функция не соответствует заданному имени и типу аргумента.Возможно, вам придется добавить явные приведения типов.Положение: 15

Функция выглядит следующим образом.

CREATE OR REPLACE FUNCTION "public"."fn_subscriber_to_iservice"("_service_id" int8, "user_id" int8, "_start_date" varchar, "_end_date" varchar, "total_price" float8, "total_month" float8, "price_per_person" float8, "_start_station_id" int8, "_end_station_id" int8, "passengerlist" "public"."_passengers_array")

Пружинные загрузочные коды

StoredProcedureQuery subscriber = entityManager.createStoredProcedureQuery("fn_subscriber_to_iservice");
    subscriber.registerStoredProcedureParameter(1, BigInteger.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(2, BigInteger.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(3, String.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(4, String.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(5, Double.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(6, Double.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(7, Double.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(8, BigInteger.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(9, BigInteger.class, ParameterMode.IN);
    subscriber.registerStoredProcedureParameter(10, List[].class, ParameterMode.IN);

    subscriber.setParameter(1, BigInteger.valueOf(payload.getService_id()));
    subscriber.setParameter(2, BigInteger.valueOf(userDetail.getId()));

Я ожидаю вашей помощи в этом.Спасибо

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