java.lang.IndexOutOfBoundsException: помните, что порядковые параметры основаны на 1 - PullRequest
0 голосов
/ 05 октября 2018
public void testis() {
        Staff2 emp = new Staff2();
      emp.setName("SFFF");
      emp.setType("yyy");
      emp.setDme(123);
      emp.setIsActive("FFF");
   ssiMasterValidationSearchCriteriaDaoImpl.save(emp);

    }

private final static String SAVE_TO_DB="Insert into table1 (name,type,code,mne) values ('?','?','?','?')";


    public void save(Staff2 employee){
        Object result = getHibernateTemplateExt().uniqueResultBySQL(
                SAVE_TO_DB,
                new Object[] {
                    employee.getName(),
                    employee.getType(),
                    employee.getDme(),
                    employee.getIsActive()});

    }

получение ошибки заголовка

java.lang.IndexOutOfBoundsException: Помните, что порядковые параметры основаны на 1!в org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterDescriptor (ParameterMetadata.java:55) в org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterExpectedType (ParameterMetadata.imper.Impine.juh.java: 397)

1 Ответ

0 голосов
/ 05 октября 2018

Измените private final static String SAVE_TO_DB="Insert into table1 (name,type,code,mne) values ('?','?','?','?')"; на private final static String SAVE_TO_DB="Insert into table1 (name,type,code,mne) values ('?1','?2','?3','?4')"; и проверьте.

Также я подозреваю, что ваш запрос Insert into table1 (name,type,code,mne) values ('?','?','?','?') содержит поля, которые отличаются от этих сеттеров

  emp.setName("SFFF");
  emp.setType("yyy");
  emp.setDme(123);
  emp.setIsActive("FFF");

Например setDmeимя поля должно быть dme, но в запросе это mne

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