Merci pour la réponse Nick.
Ce document ne parle que du traitement implicite des groupes d'entités par le moteur de l'application lorsqu'il s'agit d'une relation parent-enfant. Je veux enregistrer plusieurs objets de même type en utilisant PeristentManager.makePersistentAll (liste) dans une transaction. Si les objets ne sont pas le même groupe d'entités, cela génère une exception. À l'heure actuelle, je pouvais le faire comme ci-dessous, mais pense qu'il doit y avoir une meilleure et une approche plus appropriée pour ce faire -
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.
Bien que cette approche fonctionne, le problème est que vous devez dépendre d'une entité déjà persistante créer un groupe d'entités.
Dans une transaction, cela ne fonctionne pas. C'est ce que ma question mentionne. – Gopi