wpf198815 2011-10-11 17:01 采纳率: 0%
浏览 219
已采纳

遇到一个事务无法提交的问题,寻求帮助。

一个很棘手的问题,做的是XML数据导入功能,数据无法提交,也没有出现任何异常,在控制台里面都没有出现插入语句,但如果我单纯的提交一个对象,就是普通的提交数据功能,也是在用一个事务里面,就能提交数据。

如果我把这个方法放到另外一个测试项目里面,就能正常的提交数据,这是为什么?

代码如下,若代码有问题,请指出。

/**
     * 开始导入
     * 
     * @param xmlList
     *            XML文件绝对路径数组
     * @return
     */
    private int sendImport(String[] xmlList) {
        Session session = null;
        try {
            session = Database.getSession();
            Session xmlSession = session.getSession(EntityMode.DOM4J);
            session.beginTransaction();
            for (int i = 0; i < xmlList.length; i++) {
                inportByXML(xmlSession, xmlList[i]);
            }
            session.getTransaction().commit();
        } catch (Exception e) {
            session.getTransaction().rollback();
            Database.endTransaction(true);
            return ERROR_IMPORT;
        } finally {
            session.close();
        }
        return IMPORT;
    }

    /**
     * 存入数据库
     * 
     * @param xmlSession
     * @param xmlPath
     *            XML绝对路径
     * @throws DocumentException
     */
    private void inportByXML(Session xmlSession, String xmlPath)
            throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read(xmlPath);
        List entities = document.getRootElement().content();
        Iterator it = entities.iterator();
        while (it.hasNext()) {
            Node item = (Node) it.next();
            xmlSession.save(c.getName(), item);
        }
    }
  • 写回答

5条回答 默认 最新

  • long13131462101 2011-10-11 17:15
    关注

    [code="java"
    先保存在session中,然后再commit,你都不往session中装,commit没用。
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch