Я использую 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 (имя = "SVC_ID")
@Enumerated (EnumType.ORDINAL)
защищенный сервис ServiceType;
Но где мы устанавливаем диапазон ординала? Это делает 48 вне диапазона.