0

配列オブジェクトをエンティティクラスに保存しようとしています。これをGAEデータストアに保存します。残念ながら、アレイを初期化しようとしているときに例外が発生します。

このエラーが発生します:

java.lang.UnsupportedOperationException:FKアレイはサポートされていません。

私のクラスは次のようになります。

@Entity
public class Game {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key key;
    ...
    @Persistent
    private Profile[] players = new Profile[4];
    ...
    public void setPlayers(Profile player) {
        if (pcount.intValue() < 4) {
            this.players[pcount] = player; //Here I get the exception
            pcount = Integer.valueOf(pcount.intValue() + 1);
        }
    }
}

Profileエンティティクラスでもあります。

何が悪かったのか?どうすればこれを修正できますか。誰かが私にそれを説明することができれば素晴らしいでしょう!

4

1 に答える 1

0

フィールドにとして注釈を付けるには、Profileエンティティに注釈を付ける必要があります。JPAアノテーションの詳細については、JPA2アノテーションを参照してください。このようにして、すべてのフィールドがエンティティのインラインフィールドとして表示されます。エンティティからエンティティへの参照を保持したいだけの場合は、ではなくの配列を使用できます。例えば、@EmbeddableGameplayers@EmbeddedProfileGameGameProfileKeyProfile

private Key[] players = new Key[4];

お役に立てれば。

于 2012-10-30T18:39:45.700 に答える