2012-01-28 10 views
-1

次のJDOコードをアプリエンジンサーバーで実行しています。JDOアプリエンジン:クラスのリストメンバーを永続化しようとすると例外が発生する

私は、次のエラーメッセージ取得しています:

org.datanucleus.jdo.exceptions.ClassNotPersistenceCapableExceptionを:クラス「クラス 『java.util.ArrayListのは、』永続化ではありません。これは、そのどちらかhasntが強化されていることを意味します。またはファイルの拡張版がCLASSPATHにない(拡張されていないバージョンで隠されている)か、クラスのメタデータ/注釈が見つからない "持続可能ではありません。これは、拡張されていないか、拡張バージョンのファイルがCLASSPATHにない(拡張されていないバージョンで隠されている)か、クラスのメタデータが見つからないことを意味します。ここで

は私のクラスである:

@PersistenceCapable(detachable="true") 
class Store { 

    @PrimaryKey 
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
    private Key key; 

    @Persistent 
    @Element(dependent = "true") 
    private List<User> users; 

    List<User> getUsers() { 
    return users; 
    } 

} 

私は

pm.makePersistent(store.getUsers()); 

を実行すると、私は上記の例外を取得します。なぜこれが起こっているのか、どんな考えですか? 私は、リスト<を永続的な 要素として持つことができ、多値プロパティになると書類が述べていると思いました。

おかげで、

ジョンGoche

+0

リストクラスはそれ自体が永続性がないので、pm.makePersistent(store)を実行する必要があります。それが永続するために。 (?) – johngoche9999

答えて

2

そのメソッドがオブジェクトを取り、あなたはリストを渡すので、私は「推測」。永続オブジェクトのリストを永続化したい場合、私はpm.makePersistentAll()を呼び出すと期待しています。これは、JDOのドキュメントのすべてです。

関連する問題