如何在SQL炼金术中自动管理事务

2024-09-30 18:24:38 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用javahibernate&Spring框架时,有一个事务管理器可以配置一些事务规则,这样就不需要每次编写“提交、刷新、回滚”之类的东西。在


Tags: 框架管理器规则事务springjavahibernate
1条回答
网友
1楼 · 发布于 2024-09-30 18:24:38

对于python SQL Alchemy,我们可以使用decorator和context manager来管理事务(来自doc的正式示例):

from contextlib import contextmanager

@contextmanager
def session_scope():
    """Provide a transactional scope around a series of operations."""
    session = Session()
    try:
        yield session
        session.commit()
    except:
        session.rollback()
        raise
    finally:
        session.close()


def run_my_program():
    with session_scope() as session:
        ThingOne().go(session)
        ThingTwo().go(session)

一个transactions library也是一个很好的选择。在

相关问题 更多 >