Вставка Oracle / Hibernate - исключение java.lang.ArrayIndexOutOfBoundsException: 8 - PullRequest
0 голосов
/ 12 октября 2018

Я получаю исключение при вставке записей в таблицу.

java.lang.ArrayIndexOutOfBoundsException: 8 / org.hibernate.exception.GenericJDBCException: не удалось подготовить оператор

Я использовал источник данных JNDI / Oracle для создания hibernate sessionFactory.

Вот конфигурация SessionFactory:

<beans:bean id="jndiDataSource"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <beans:property name="jndiName" value="java:jboss/datasources/TestDS" />
</beans:bean>

<beans:bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <beans:property name="dataSource" ref="jndiDataSource" />
    <beans:property name="packagesToScan" value="com.majesco.integration.model" />
    <beans:property name="configLocation" value="classpath:hibernate.cfg.xml" />
</beans:bean>

здесь hibernate.cfg.xml

 <hibernate-configuration>       
    <session-factory>
    <property name="dialect">org.hibernate.dialect.Oracle12cDialect</property>
    <property name="show_sql">true</property> 
    </session-factory>
</hibernate-configuration>

Здесь модель:

   @Entity
@Table(name="EVENT_AUDIT")
public class MessageControl implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="LMESSAGESEQ")
    private Integer messageseq;

    @Column(name="NMESSAGEID")
    private Integer messageid;

    @Column(name="STRMESSAGE_CD")
    private String messagecd;

    @Column(name="STRQUEUE_CD")
    private String queuecd;

    @Column(name="NMODULEID_FROM")
    private String moduleidfrom;

    @Column(name="NMODULEID_TO")
    private String moduleidto;

    @Column(name="NMESSAGE_STATUS")
    private String messagestatus;


    @Column(name="STRTRXNBR")
    private String transactionNBR;

    @Column(name="STRUUID")
    private String uuid;

    //getter and setter
}

Здесь код DAO:

   public class MessageAuditDaoImpl implements AuditDao{

    @Autowired
    @Qualifier("sessionFactory")
    private SessionFactory factory;


    @Override
    public void saveAuditMessage(MessageControl messageControl) {
        try {
            session=factory.openSession();
            session.save(messageControl);
            logger.info("Saved Message");
            session.close();
        } catch (Exception e) {
            logger.error("Exception Occured"+e);
        }   
    }
 }

Мой код работает нормально, если я вставляю параметр ниже 8 и получаю исключение для параметра, значение которого больше 8.

В чем проблема или что-то, что я пропустил в коде?

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