私はWAS 6.1でJPAを使用しています。私は、この行を実行しよう: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();
私は私のSystemOut.logにこれを取得する:範囲外に起こっている上記のコードでは、配列である 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(名= "SVC_ID") @Enumerated(EnumType.ORDINAL) 保護されたサービス・タイプのサービス。
しかし、どこで序数の範囲を設定しますか?それは48を範囲外にします。
ありがとうございます。あなたは親切に私の編集を見ることができますか? – Victor
序数は任意の列挙型のためにコンパイラによって自動生成され、その値を変更する方法はありません。最初に宣言されたenumインスタンスは0、2番目のインスタンスは1などです。 –
ありがとうございます。では、なぜ48が範囲外ですか? – Victor