Java持久化操作每次都会导致MySQL数据库中的回滚
我有个问题 我有这个功能:Java持久化操作每次都会导致MySQL数据库中的回滚,java,mysql,jpa,rollback,persist,Java,Mysql,Jpa,Rollback,Persist,我有个问题 我有这个功能: public boolean insertOrgToAlign(OrganizationData orgData) { try { if (eManager.find(ScOrgNotAligned.class, orgData.getOrganizationCode()) == null) { ScAdminGroup rootByOrg = null; Admi
public boolean insertOrgToAlign(OrganizationData orgData) {
try {
if (eManager.find(ScOrgNotAligned.class, orgData.getOrganizationCode()) == null) {
ScAdminGroup rootByOrg = null;
AdminGroupBean admGrp = null;
try {
rootByOrg = adminGroupServices.getRootAdminGroupByOrg(orgData.getOrganizationCode());
} catch (NoResultException e) {
logger.debugT("insertOrgToAlign(..) - org to align has no root");
return false;
} catch (NonUniqueResultException e) {
logger.debugT("insertOrgToAlign(..) - org to align has more than one root");
admGrp = new AdminGroupBean();
admGrp.setAdmGroupId(-1);
admGrp.setAdmGroupName("ERROR");
ScOrgNotAligned scOrgNotAlig = new ScOrgNotAligned(orgData, admGrp);
eManager.persist(scOrgNotAlig);
logger.debugT("insertOrgToAlign(..) - persist org to adjust manually : "
+ orgData.getOrganizationName());
return true;
}
admGrp = new AdminGroupBean(rootByOrg);
ScOrgNotAligned scOrgNotAlig = new ScOrgNotAligned(orgData, admGrp);
//**************************
//THIS IS THE WRONG LINE????
eManager.persist(scOrgNotAlig);
//**************************
logger.debugT("insertOrgToAlign(..) - persist org to align : " + orgData.getOrganizationName());
} else {
logger.debugT("insertOrgToAlign(..) - org to align already exists in db : "
+ orgData.getOrganizationName());
}
} catch (Exception e) {
logger.traceThrowableT(Severity.ERROR, e.getMessage(), e);
return false;
}
return true;
}
如果我评论eManager.persist(scorgontalig)line,函数写在DB中;如果我取消对该行的注释,该函数将在写入DB时导致回滚
异常的堆栈跟踪是:
(Failed in component: sap.com/tc~ejbexplorer~ear, BC-JAS-EJB) nested exception is:
com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in
beforeCompletion of ( JTA Transaction : 45491 ).
为什么??有什么想法吗?你能给我们看看例外情况的堆栈跟踪吗?我添加到Question;)嗯,这似乎不是(整个)堆栈跟踪。。。如果这就是你所得到的,我帮不了你多少…在stacktrace中,我没有例外!这是件奇怪的事。。。。我只在EJB资源管理器页面中获得此信息。。。