2010-04-08 16 views
0

Supposons que vous ayez un objet Carte d'achat client et un objet produit. Lorsque le client choisit l'option d'achat, créez l'objet, puis ajoutez un produit. Il devrait être transactionnel mais il ne fait pas partie du même groupe d'entités que le produit et la carte a déjà été conservée, n'est-ce pas? Y at-il un moyen de surmonter ce scénario simple en toute sécurité et facilement?Groupes d'entités GAE/Transaction

est ici un exemple de code:

Transaction tx = pm.currentTransaction(); 
tx.begin(); 
Product prod = pm.getObjectById(Product.class, "TV"); 
prod.setReserved(true); 
pm.makePersistent(prod); 

Card card = pm.getObjectById(Card.class, "user123"); /// <--- will thorw an exception as card and prod aren't on the same entity group 
card.setProd(prod); 
pm.makePersistent(card); 
try { 
    tx.commit(); 
    break; 
} 
+0

pls n » t dites-moi que la seule solution est de créer un objet racine 'foo' et de le passer au cctor avant de persister dans le datastore pour toutes les cartes et tous les produits ... – bach

Répondre