一个很棘手的问题,做的是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);
}
}
料青山看我应如是
胡子哥哥
相关分类