WAS 6.1에서 JPA를 사용하고 있습니다. 내 SystemOut.log에에JPA 배열 색인이 범위를 벗어남
@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();
나는이 얻을 : 나는이 줄을 실행하려고 org.apache.openjpa.persistence.PersistenceException: Array index out of range: 48
어디 위의 코드에서 배열 범위를 벗어난 것입니다된다? (이것은 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
여러분의 도움에 감사드립니다 무엇 무엇인지 알아낼 수 없습니다
EnumValueHandler.java : 오류는이 라인 번호 (100)에 제공됩니다.
편집 : 답변 해 주셔서 감사합니다. 이 열은 실제로 다음과 같은 서수에 매핑됩니다.
@Column (name = "SVC_ID") @Enumerated (EnumType.ORDINAL) protected ServiceType service;
하지만 서수의 범위는 어디에서 설정합니까? 그것은 범위 밖의 48을 만든다.
고마워요. 제 EDIT를 친절하게 볼 수 있습니까? – Victor
서수는 열거 형에 대해 컴파일러에서 자동 생성되며 해당 값을 변경할 수있는 방법이 없습니다. 처음 선언 된 enum 인스턴스는 0이고, 두 번째 인스턴스는 1 등입니다. –
감사합니다. 그럼 왜 48이 범위를 벗어 났습니까? – Victor