Използвам 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
Благодаря ви за помощта.
EDIT: Благодаря ви за отговора. Колоната наистина е съпоставена с порядък като този:
@Column(name="SVC_ID") @Enumerated(EnumType.ORDINAL) защитена ServiceType услуга;
Но къде да зададем диапазона на Ordinal? Това прави 48 извън диапазона.