ошибка вызова процедуры оракула с одним выходным параметром с использованием аннотации на пружине 5 - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь вызвать процедуру оракула из репозитория в весеннем приложении. процедура имеет два параметра: один входной параметр и один выходной параметр.

я получаю следующее исключение:

org.springframework.dao.InvalidDataAccessResourceUsageException: Error calling CallableStatement.getMoreResults; SQL [import_test]; nested exception is org.hibernate.exception.SQLGrammarException: Error calling CallableStatement.getMoreResults

в журнале я также прочитал:

PLS-00306: numero o tipi di argomenti errati nella chiamata di 'IMPORT_TEST'

здесь заголовок процедуры:

create or replace PROCEDURE IMPORT_TEST (step IN VARCHAR2, esito OUT VARCHAR2)

сущность:

@NamedStoredProcedureQueries({

    @NamedStoredProcedureQuery(name = "import_test", procedureName = "import_test",
            parameters = {@StoredProcedureParameter(mode = ParameterMode.IN, name = "step", type = String.class),
                    @StoredProcedureParameter(mode = ParameterMode.OUT, name = "esito", type = String.class) }) })
@Entity
public class StoredProcedureImportTest implements java.io.Serializable {

    /** The Constant serialVersionUID. */
    private static final long serialVersionUID = 2363789532097967637L;

    /** The esito. */
    private String            esito;

    /**
     * Gets the esito.
     *
     * @return the esito
     */
    @Id
    public String getEsito() {
        return this.esito;
    }

    /**
     * Sets the esito.
     *
     * @param esito
     *            the new esito
     */
    public void setEsito(String esito) {
        this.esito = esito;
    }

}

хранилище:

public interface StoredProcedureImportTestRepository extends BaseRepository<StoredProcedureTest, Long> {

    /**
     * Sp import class standart.
     *
     * @param step
     *            the step
     * @return the string
     */
    @Procedure(name = "import_test")
    String importTest(@Param("step") String step); 

}

Я вызываю процедуру внутри Сервиса:

String esito = storedProcedureImportTestRepository.importTest(step);

Кажется, проблема здесь в выходном параметре, все работает нормально, используя только входной параметр.

Итак, вопрос в том, как правильно управлять выходным параметром в Spring - jpa? (используя аннотации)

Где я не так делаю ??

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