1

私は問題があります。以前は、を持っていたエンティティがありました@id private String key。しかし今、私はそれをに変更する必要があり@id private Long keyます。問題は、Objectifyが私を許可しないことです。私は

IllegalStateException: Loaded Entity has name but com.XX.YYY.MyClass has no String @id

だから私は何をすべきかわからない。

4

1 に答える 1

2

私はObjectifyを使用していませんが(うまくいけば、介入できる人です)、Objectifyは、エンティティキーに名前またはIDのいずれか1つが必要であるという制限を通過していると想定しています。エンティティが作成されると、キーは不変になります。

キーを再入力する唯一の方法は次のとおりです。

  1. データをエクスポートし、データストアの外部で修正してから、データストアをクリアしてリロードするか、または
  2. 新しい種類のエンティティの並列セットを作成してデータを入力し、対応するデータを古いエンティティから新しいエンティティに移行します。

どちらの場合も、参照を手動で見つけて移行する必要があります。

これらは両方とも注意深い作業を伴います。

于 2011-10-08T04:47:09.773 に答える