2017-06-06 13 views
0

私はJEEで開発するコンピュータ消耗品の管理のWebアプリケーションを書いています。私のデータベースでは、個人用テーブルはログインテーブルにリンクされています。私はこのエラーを取得するEJBの関係

Personnel personnel = personnelFacade.find(id); 
    List<Page> pages = pageFacade.findByNiveau(personnel.getLoginList().get(0).getNiveauAcces()); 

Avertissement: StandardWrapperValve[SettingPersonnal]: Servlet.service() for servlet SettingPersonnal threw exception 
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 
    at java.util.Vector.get(Vector.java:748) 
    at org.eclipse.persistence.indirection.IndirectList.get(IndirectList.java:442) 

誰も私を助けることができる私は、彼のログインでスタッフの挿入を行い、その後、ちょうど挿入した後、私は次のコードを実行しますか?

+0

ログインリストが空である、あなたは、原因についてのあなたのコードとinvistigateをデバッグする必要があります – Simo

答えて

0

あなたのLoginListは空です。 LoginListからget(0)にしようとすると、エラーがスローされます。あなたはこのように豆の検証を使用することができますloginlistで無い値を持つレコードを挿入することができるようにしたくない場合は、次の

@NotNull @Size(min = 1) 
List<MyLoginClass> loginList; 
+0

好奇心が強いのは、サーバグラスフィッシュを再定義し、 'Personnel personnel = personnelFacade.find(id) 'というコードを実行するときです。 リストページ= pageFacade.findByNiveau(personnel.getLoginList().get(0).getNiveauAcces()); '問題なしで歩行を記録するようになったスタッフと同じです。 –

+0

サーバーを再定義するとどういう意味ですか?それはいつ起こるのですか?挿入後のみ? –