Couldn't override update method
shtv Dec 7, 2010 6:38 AMHello!
I have some problems with EntityHome. I do the same work as one in reference (this chapter: http://docs.jboss.org/seam/2.2.1.CR2/reference/en-US/html/framework.html ). My method works but Hibernate always updates given record. Even if my update method is blank. Below my source:
@Name("stageHome") public class StageHome extends EntityHome<StagesSchedule> { static final long serialVersionUID = 1L; @Factory("stage2") public StagesSchedule initStagesSchedule() { return getInstance(); } protected StagesSchedule createInstance() { return new StagesSchedule(); } /* protected String getUpdatedMessageKey() { return "stage_updated"; } */ public String update() { return ""; /* try { validate(); return ""; // return super.update(); } catch(ValidatorException e){ getFacesMessages().add(e.getFacesMessage()); return null; } */ } public String persist() { return ""; }; public String remove() { return ""; }; /* private void validate() { StagesSchedule schedule = getInstance(); if(schedule.getBegin().after(schedule.getEnd())) throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,"Validation failed!",null)); } */ }
<ui:define name="body"> <h:dataTable value="#{stages}" var="_stage" rendered="#{not empty stages}"> <h:column> <f:facet name="header"> <h:outputText value="Name"/> </f:facet> <h:outputText value="#{_stage.name}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Begin date"/> </f:facet> <h:outputText id="begindate" datePattern="dd-MM-yyyy" value="#{_stage.begin}"> <s:convertDateTime pattern="dd-MM-yyyy"/> </h:outputText> </h:column> <h:column> <f:facet name="header"> <h:outputText value="End date"/> </f:facet> <h:outputText id="enddate" datePattern="dd-MM-yyyy" value="#{_stage.end}"> <s:convertDateTime pattern="dd-MM-yyyy"/> </h:outputText> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Action"/> </f:facet> <s:link value="Edit"> <f:param name="stageId" value="#{_stage.id}"/> </s:link> </h:column> </h:dataTable> <h:form rendered="#{stageHome.managed}"> <h:inputText value="#{stage2.name}"/> <rich:calendar id="begin1" datePattern="dd-MM-yyyy" value="#{stage2.begin}"/> <rich:calendar id="end1" datePattern="dd-MM-yyyy" value="#{stage2.end}"/> <h:commandButton value="Update" action="#{stageHome.update}"/> </h:form> </ui:define>
<?xml version="1.0" encoding="UTF-8"?> <page xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"> <param name="stageId" value="#{stageHome.id}" converterId="javax.faces.Integer"/> </page>
Thanks for reply!