Я получаю исключение при вставке записей в таблицу.
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.
В чем проблема или что-то, что я пропустил в коде?