简体   繁体   English

标记为回滚的交易

[英]transaction marked for roll back

i want to ask about jsf primefaces in netbeans 8.0 i make a table, and i want to input to the table. 我想问一下netbeans 8.0中的jsf primefaces,我制作了一个表,并且想输入到表中。 and when i click save button, why appear the message warning like "transaction marked for roll back". 当我单击“保存”按钮时,为什么会出现警告消息,如“标记为回滚的事务”。

this is my code 这是我的代码

  1. create 创造

     <p:dialog id="UsersCreateDlg" widgetVar="UsersCreateDialog" modal="true" resizable="false" appendTo="@(body)" header="#{bundle.CreateUsersTitle}"> <h:form id="UsersCreateForm"> <h:panelGroup id="display"> <p:panelGrid columns="2" rendered="#{usersController.selected != null}"> <p:outputLabel value="#{bundle.CreateUsersLabel_id}" for="id" /> <p:inputText id="id" value="#{usersController.selected.id}" title="#{bundle.CreateUsersTitle_id}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_id}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_userLevelId}" for="userLevelId" /> <p:inputText id="userLevelId" value="#{usersController.selected.userLevelId}" title="#{bundle.CreateUsersTitle_userLevelId}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_userLevelId}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_email}" for="email" /> <p:inputText id="email" value="#{usersController.selected.email}" title="#{bundle.CreateUsersTitle_email}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_email}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_username}" for="username" /> <p:inputText id="username" value="#{usersController.selected.username}" title="#{bundle.CreateUsersTitle_username}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_username}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_realname}" for="realname" /> <p:inputText id="realname" value="#{usersController.selected.realname}" title="#{bundle.CreateUsersTitle_realname}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_realname}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_agreeTimestamp}" for="agreeTimestamp" /> <p:inputText id="agreeTimestamp" value="#{usersController.selected.agreeTimestamp}" title="#{bundle.CreateUsersTitle_agreeTimestamp}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_agreeTimestamp}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_password}" for="password" /> <p:inputText id="password" value="#{usersController.selected.password}" title="#{bundle.CreateUsersTitle_password}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_password}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_passwordMd5}" for="passwordMd5" /> <p:inputText id="passwordMd5" value="#{usersController.selected.passwordMd5}" title="#{bundle.CreateUsersTitle_passwordMd5}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_passwordMd5}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_logins}" for="logins" /> <p:inputText id="logins" value="#{usersController.selected.logins}" title="#{bundle.CreateUsersTitle_logins}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_logins}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_lastLogin}" for="lastLogin" /> <p:inputText id="lastLogin" value="#{usersController.selected.lastLogin}" title="#{bundle.CreateUsersTitle_lastLogin}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_lastLogin}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_status}" for="status" /> <p:inputText id="status" value="#{usersController.selected.status}" title="#{bundle.CreateUsersTitle_status}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_status}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_created}" for="created" /> <p:inputText id="created" value="#{usersController.selected.created}" title="#{bundle.CreateUsersTitle_created}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_created}"/> <p:outputLabel value="#{bundle.CreateUsersLabel_modified}" for="modified" /> <p:inputText id="modified" value="#{usersController.selected.modified}" title="#{bundle.CreateUsersTitle_modified}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_modified}"/> </p:panelGrid> <p:commandButton actionListener="#{usersController.create}" value="#{bundle.Save}" update="display,:UsersListForm:datalist,:growl" oncomplete="handleSubmit(args,'UsersCreateDialog');"/> <p:commandButton value="#{bundle.Cancel}" onclick="UsersCreateDialog.hide()"/> </h:panelGroup> </h:form> </p:dialog> 

2.userscontroller.java 2. userscontroller.java

@Named("usersController")
@SessionScoped
public class UsersController implements Serializable {

@EJB
private com.nop.mavenproject5.UsersFacade ejbFacade;
private List<Users> items = null;
private Users selected;

public UsersController() {
}

public Users getSelected() {
    return selected;
}

public void setSelected(Users selected) {
    this.selected = selected;
}

protected void setEmbeddableKeys() {
}

protected void initializeEmbeddableKey() {
}

private UsersFacade getFacade() {
    return ejbFacade;
}

public Users prepareCreate() {
    selected = new Users();
    initializeEmbeddableKey();
    return selected;
}

public void create() {
    persist(PersistAction.CREATE, ResourceBundle.getBundle("/Bundle").getString("UsersCreated"));
    if (!JsfUtil.isValidationFailed()) {
        items = null;    // Invalidate list of items to trigger re-query.
    }
}

public void update() {
    persist(PersistAction.UPDATE, ResourceBundle.getBundle("/Bundle").getString("UsersUpdated"));
}

public void destroy() {
    persist(PersistAction.DELETE, ResourceBundle.getBundle("/Bundle").getString("UsersDeleted"));
    if (!JsfUtil.isValidationFailed()) {
        selected = null; // Remove selection
        items = null;    // Invalidate list of items to trigger re-query.
    }
}

public List<Users> getItems() {
    if (items == null) {
        items = getFacade().findAll();
    }
    return items;
}

private void persist(PersistAction persistAction, String successMessage) {
    if (selected != null) {
        setEmbeddableKeys();
        try {
            if (persistAction != PersistAction.DELETE) {
                getFacade().edit(selected);
            } else {
                getFacade().remove(selected);
            }
            JsfUtil.addSuccessMessage(successMessage);
        } catch (EJBException ex) {
            String msg = "";
            Throwable cause = ex.getCause();
            if (cause != null) {
                msg = cause.getLocalizedMessage();
            }
            if (msg.length() > 0) {
                JsfUtil.addErrorMessage(msg);
            } else {
                JsfUtil.addErrorMessage(ex, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
            }
        } catch (Exception ex) {
            Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage(ex, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
        }
    }
}

public Users getUsers(java.lang.Integer id) {
    return getFacade().find(id);
}

public List<Users> getItemsAvailableSelectMany() {
    return getFacade().findAll();
}

public List<Users> getItemsAvailableSelectOne() {
    return getFacade().findAll();
}

@FacesConverter(forClass = Users.class)
public static class UsersControllerConverter implements Converter {

    @Override
    public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
        if (value == null || value.length() == 0) {
            return null;
        }
        UsersController controller = (UsersController) facesContext.getApplication().getELResolver().
                getValue(facesContext.getELContext(), null, "usersController");
        return controller.getUsers(getKey(value));
    }

    java.lang.Integer getKey(String value) {
        java.lang.Integer key;
        key = Integer.valueOf(value);
        return key;
    }

    String getStringKey(java.lang.Integer value) {
        StringBuilder sb = new StringBuilder();
        sb.append(value);
        return sb.toString();
    }

    @Override
    public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
        if (object == null) {
            return null;
        }
        if (object instanceof Users) {
            Users o = (Users) object;
            return getStringKey(o.getId());
        } else {
            Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, "object {0} is of type {1}; expected type: {2}", new Object[]{object, object.getClass().getName(), Users.class.getName()});
            return null;
        }
    }

}
}

Can anyone help me? 谁能帮我?

Sometimes if you mark a class with 有时如果您用

    @Transactional(noRollbackFor = Exception.class)

you can prevent rollback. 您可以防止回滚。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM