ニックの応答をありがとう。
このドキュメントでは、親子関係にある場合のAppEngineによるエンティティグループの暗黙的な処理についてのみ説明します。トランザクション内でPeristentManager.makePersistentAll(list)を使用して、同じタイプの複数のオブジェクトを保存したいと思います。オブジェクトが同じエンティティグループでない場合、これは例外をスローします。現在、私は以下のようにそれを行うことができますが、これを行うためのより良い、より適切なアプローチが必要だと思います-
User u1 = new User("a");
UserDAO.getInstance().addObject(user1);
// UserDAO.addObject uses PersistentManager.makePersistent() in transaction and user
// object now has its Key set. I want to avoid this step.
User u2 = new User("x");
u2.setKey(KeyFactory.createKey(u1.getKey(),User.class.getSimpleName(), 100 /*some random id*/));
User u3 = new User("p");
u3.setKey(KeyFactory.createKey(u1.getKey(), User.class.getSimpleName(), 200));
UserDAO.getInstance().addObjects(Arrays.asList(new User[]{u2, u3}));
// UserDAO.addObjects uses PersistentManager.makePersistentAll() in transaction.
このアプローチは機能しますが、これに伴う問題は、エンティティグループを作成するためにすでに永続的なエンティティに依存する必要があることです。