先日 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 を使う事になりますね。