首页 > 解决方案 > 休眠模型数据未保存在数据库中

问题描述

我有 5 个表数据需要同时保存到数据库中。我的代码片段如下。

public boolean addStudentDetail(RegisterLoginDetail registerLoginDetail,
            StudentRegisterBasicDetail studentRegisterBasicDetail, StudentBoardDetail studentBoardDetail,
            StudentSchoolDetail studentSchoolDetail, StudentAdditionalDetail studentAdditionalDetail,
            StepCompletionMatrix stepCompletionMatrix) {
        boolean isSuceess = true;
        Session session = sessionFactory.openSession();
        Transaction transaction = null;
        try {
            transaction = session.beginTransaction();
            session.saveOrUpdate(registerLoginDetail);
            session.saveOrUpdate(studentRegisterBasicDetail);
            session.saveOrUpdate(studentBoardDetail);
            session.saveOrUpdate(studentSchoolDetail);
            session.saveOrUpdate(studentAdditionalDetail);
            session.saveOrUpdate(stepCompletionMatrix);
            transaction.commit();
            
        } catch (HibernateException e) {
            e.printStackTrace();
            session.getTransaction().rollback();
            isSuceess = false;
        } finally {
            if (session != null && session.isOpen()) {
                session.close();
            }
        }
        return isSuceess;
    }

但是对于我在 StudentRegisterBasicDetail 表中找不到插入操作的两个事务数据条目,并且所有其他表包含每个表之间共享的一个公共 ID 的条目。我的 Web 应用程序处于试点测试模式,并发用户正在通过表单进行输入。所以我不是能够弄清楚我的条目在该表中被跳过的原因是什么。该表条目没有异常日志,如果发生异常,则是否应该发生所有表的回滚?

请帮我...

标签: javahibernate

解决方案


推荐阅读