Я использую JPA в своем WAS 6.1. Я пытаюсь выполнить эту строку:
@Entity
@Table(name="some_Table")
@NamedQueries({
@NamedQuery(name="getAllAccountTypeService",
query="SELECT a FROM AccountTypeServiceAssoc a " +
"WHERE a.delete.deletedDate IS NULL ")
.....
Query query = em.createNamedQuery("getAllAccountTypeService");
return query.getResultList();
Я получаю это в моем SystemOut.log: org.apache.openjpa.persistence.PersistenceException: Array index out of range: 48
Где находится массив в приведенном выше коде, который выходит за пределы допустимого диапазона? Ошибка возникает в этой строке № 100:
EnumValueHandler.java (это класс jpa)
public Object toObjectValue(ValueMapping vm, Object val) {
97 if (val == null)
98 return null;
99 if (_ordinal)
100 return _vals[((Number) val).intValue()];
101 return Enum.valueOf(vm.getType(), (String) val);
102 }
Я не могу понять, что такое _vals
и что такое val
Спасибо за помощь.
РЕДАКТИРОВАТЬ: Спасибо за ответ. Столбец действительно сопоставляется с порядковым номером следующим образом:
@Column(name="SVC_ID") @Enumerated(EnumType.ORDINAL) защищенная служба ServiceType;
Но где мы устанавливаем диапазон порядкового номера? Это делает 48 за пределами диапазона.