2010-08-16 4 views
0

Я использую Hibernate и получил исключение ArrayIndexOutOfBoundsException. Каковы возможные причины?ArrayIndexOutOfBoundsException в Java и Hibernate

+1

Вы пытались индексировать массив ... за пределами его границ? – Amber

+0

Должно быть, что-то доступ к не существующему индексу какого-либо массива! Это все, что я могу сделать из вашего вопроса. – Gopi

+0

ArrayIndexOutOfBoundsException может возникать всякий раз, когда вы пытаетесь получить доступ к элементу массива с помощью индекса, который меньше или меньше, чем [array size-1]. Попробуйте опубликовать код, чтобы получить четкие ответы. – chedine

ответ

2

Вы попытались получить доступ к индексу, который находится вне вашего размера массива т.е. index < 0 or index >= array.length.

Например int[] myArray = new int[10]; если доступ myArray[11] вы получите ArrayIndexOutOfBoundsException

+3

Даже если вы обращаетесь к' myArray [10] ', в этом случае вы Я получу 'ArrayIndexOutOfBoundsException'. – Jesper

+0

Спасибо, Jesper Я согласен с тобой. всякий раз, когда индекс массива удовлетворяет индексу <0 или index> = array.length, мы получим ArrayIndexOutOfBoundsException –

0

Вы получаете доступ к некоторому индексу из размера массива. Например, myArray.get(-1);

0

Вы индексируете массив с индексом вне размера массива. Он ничего не должен делать с гибернацией.

Проверьте в вашем коде, что переменная index ниже array.size()

2

Вполне возможно, что Hibernate бросает это исключение в случае, если вы используете старый драйвер JDBC с Oracle. В какой-то момент произошла ошибка в дайвере JDBC с размером выборки , что означает, что если размер выборки, используемый в Hibernate (hibernate.properties или в hibernate.cfg.xml), не был таким же, как в jdbc- уровне, вы получили ArrayIndexOutOfBoundsException.

Смежные вопросы