开发者社区> 问答> 正文

如何在存在事务的情况下使代码可重用?

在创建用于通过Java在MySQL数据库上运行查询的API时,我以以下方式创建了Hibernate Sessions和Transactions中包含的多个方法:

public void methodA(){
    // Sessions & Transactions
    hbu.createSession();
    hbu.beginTransaction();

    // Code here

    hbu.commitTransaction();
    hbu.closeSession();
}

但是,我似乎无法从其他类似方法中调用这些方法。我遇到的错误如下:

Exception in thread "main" java.lang.IllegalStateException: Transaction already active

我的理解是您不能在已创建的会话中创建会话。我可以复制被调用方法的代码并避免这种情况,但是,这显然会导致很多重复代码。处理此问题的标准方法是什么?

展开
收起
几许相思几点泪 2019-12-03 16:15:40 389 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
fibjs 模块重构从回调到协程--陈垒 立即下载
fibjs 模块重构从回调到协程 立即下载
事务、全局索引、透明分布式 立即下载