服务器中存在的交易从不打电话

cod*_*yap 4 java hibernate

我正在使用hibernate 4版本.尝试使用以下代码保持实体:

    if(surveyUserRequestTO!=null){
        surveyUser = new SurveyUser();

        surveyUser.setAdmin(surveyUserRequestTO.getAdmin());
        surveyOrganization = getEntityManager().find(SurveyOrg.class, surveyUserRequestTO.getOrganizationID());
        if(surveyOrganization !=null){
            surveyUser.setSurveyOrg(surveyOrganization);
        }else{
            return null;
        }
        surveyUser.setUserName(surveyUserRequestTO.getUserName());
        surveyUser.setUserSurveyID(surveyUserRequestTO.getSurveyUserID());

        getEntityManager().persist(surveyUser);
Run Code Online (Sandbox Code Playgroud)

我得到以下例外: -

JBAS014134: EJB Invocation failed on component NewUserDataProvider for
 method public
 com.alt.survey.user.transport.output.SurveyUserResponseTO
 com.alt.survey.user.dataprovider.NewUserDataProvider.createNewUser(com.alt.survey.user.transport.input.SurveyUserRequestTO)
 throws java.lang.Exception: javax.ejb.EJBException: Transaction
 present on server in Never call (EJB3 13.6.2.6)
Run Code Online (Sandbox Code Playgroud)

我相信它与TransactionAttribute属性有关.任何可能的帮助都将非常值得注意.

sib*_*ick 6

您的代码中某处有NEVER事务属性(请参阅堆栈跟踪).您无法使用NEVER事务属性在EJB方法内启动事务