如果使用graphql,提供事务操作的最佳方式是什么

如果使用graphql,提供事务操作的最佳方式是什么,graphql,graphql-java,Graphql,Graphql Java,如果我需要在一个事务中改变多个变量,那么最好的方法是什么 据我所知,grapQL将在幕后依次发出单独的变异命令。我需要做什么才能使它具有事务性 谢谢 这是执行多个DB操作的单一突变吗?如果是这样,您的变异解析器将执行所有操作,这样它就可以管理事务本身:打开、执行多个操作、关闭 如果在一个请求中执行多个突变,它们总是串行执行。在这种情况下,您只需在启动GraphQL处理时打开事务(例如,在控制器、servlet或指令插入中),并在收到结果(或异常)后关闭事务即可。因此,事务管理是围绕GraphQL

如果我需要在一个事务中改变多个变量,那么最好的方法是什么

据我所知,grapQL将在幕后依次发出单独的变异命令。我需要做什么才能使它具有事务性


谢谢

这是执行多个DB操作的单一突变吗?如果是这样,您的变异解析器将执行所有操作,这样它就可以管理事务本身:打开、执行多个操作、关闭

如果在一个请求中执行多个突变,它们总是串行执行。在这种情况下,您只需在启动GraphQL处理时打开事务(例如,在控制器、servlet或指令插入中),并在收到结果(或异常)后关闭事务即可。因此,事务管理是围绕GraphQL执行的,但不在它的范围之内

如果您只希望请求中的某些操作以事务方式执行,而不希望其他操作以事务方式执行,那么您已经处于最好由框架执行的领域。使用类似Spring的事务管理,让它处理正确的生命周期

另一方面,如果您正试图实现一个跨多个不同请求的事务,那么这确实不是您应该做的事情,因为很多原因,非常复杂的事务管理只是其中之一