【发布时间】:2021-07-19 15:51:09
【问题描述】:
我正在截断表格,然后插入新数据。不知何故,我们得到了类似(数据大小更多)的错误。它给出错误但截断语句不回滚。
您能否建议问题是什么以及如何回滚?
try {
utx.begin();
List<Company> company = CompanyMapper.MAPPER.entityListToDaoList(query);
logger.log(Level.INFO,"Truncating Table Company!!");
emTarget.createNativeQuery("TRUNCATE TABLE Company").executeUpdate();
logger.log(Level.INFO,"Table Companyrole Company!!");
logger.log(Level.INFO,"Populating Table Company!! - " + company.size());
for (Company row : company) {
logger.log(Level.INFO,"ROW:" + row.getCompanyid()
+ "| Address:" + row.getVisitaddress1()
+ "| Size:" + (row.getVisitaddress1()!=null? row.getVisitaddress1().length():"0"));
emTarget.persist(row);
}
logger.log(Level.INFO,"Populated Table Company!!");
utx.commit();
} catch (Exception e) {
e.printStackTrace();
utx.rollback();
logger.log(Level.SEVERE, "Persist transaction failed. Rollback activated", e.getMessage());
throw new PersistenceException("There was an error reading the source table");
}
我正在使用 Oracle。
【问题讨论】:
-
你使用的是哪个数据库?
标签: java oracle hibernate jpa truncate