先日 slim3 1.0.14 とグローバルトランザクションについて書きました。
その続編です。
slim3 の Datastore.beginGlobalTransaction() とか deprecated になってます。
やはりフツーのDatastore.beginTransaction() を使えと言う事ですね。※
※2012年4月4日追記
今はappengine-web.xml とかで slim3.useXGTX=true しないとCross-Groupなトランザクションになりません。
404 shin1のつぶやき ないわー Not Found: Slim3 Cross Group TransactionをUnit Testで使う
で、Cross-Group Transactions なんですけど、やはり今のところ 5 entity groups までしか対応していないようです。
確かに複数Entityでも、今までの様に「can’t operate on multiple entity groups in a single transaction.」とか怒られる事が無くなったんですが、いっぱいEntityをぶっこむ(Entity Group が5つ以上)と、「java.lang.IllegalArgumentException: operating on too many entity groups in a single transaction.」とか怒られてしまいます。
沢山のEntity Group を含むトランザクションを扱うシチュエーションでは引き続き slim3 の GlobalTransaction を使う事になりますね。