複数の変数をトランザクションの一部として変更する必要がある場合は、どのような方法が最適ですか?graphqlを使用する場合、トランザクション操作を提供する最良の方法は
私が理解する限り、grapQLはシーンの後ろに個別の突然変異コマンドを続けて発行します。私はそれをトランザクションにするために何をする必要がありますか?
ありがとうございます!
複数の変数をトランザクションの一部として変更する必要がある場合は、どのような方法が最適ですか?graphqlを使用する場合、トランザクション操作を提供する最良の方法は
私が理解する限り、grapQLはシーンの後ろに個別の突然変異コマンドを続けて発行します。私はそれをトランザクションにするために何をする必要がありますか?
ありがとうございます!
複数のDB操作を実行する単一の突然変異ですか?そうであれば、突然変異レゾルバはすべての操作を実行することが期待されるため、オープン、複数の操作の実行、クローズなど、トランザクション自体を管理できます。
現在、1つのリクエストで複数の突然変異を実行する標準的な方法はありません。複数のトップレベル操作を有効にするにはa propositionがあります(突然変異は常にトップレベル操作です)が、これは仕様に含まれていません。 Graphql-javaは既にそれをサポートしているかもしれません。この場合、GraphQL処理(コントローラやサーブレットなど)を開始するときにトランザクションを開くだけで、結果(または例外)を受け取った後にトランザクションを閉じることができます。したがって、トランザクション管理はで、 GraphQLの実行ですが、その外側にあります。
一方、複数の異なる突然変異操作にまたがるトランザクションを実装しようとすると、複数の異なる要求を意味します(要求ごとの最上位操作と突然変異は常に最上位レベルです)。そして、これは本当にあなたがやるべきことではありません、多くの理由から、過度に長い取引は1つだけです。