Yes, musachy. I do something very similar. Here is my prepare() method: public void prepare() throws Exception { if( this.id==0 ) { this.entity = new Entity(); } else { this.entity = this.entityDao.findById(this.id); } }
Here is the (obvious) getModel(): public Object getModel() { return this.entity; } Here is the update, "execute()" method that is called upon form submission: @Validations( requiredStrings = [EMAIL PROTECTED](fieldName = "model.name", message = "You must enter a title.")} ) public String update() { if( this.id==0 ) { this.entityDao.create(this.entity); } else { this.entity.update(this.entity); } return SUCCESS; } So when a user enters a blank "model.name" field, this.entity.name property gets set to null, the update() method never is called, but Hibernate tries to write the update to the database when OpenEntityManagerInViewFilter closes the EntityManager: Here is the relevant code from OpenEntityManagerInViewFilter protected void doFilterInternal( HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { ... try { filterChain.doFilter(request, response); } finally { if (!participate) { EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager.unbindResource(emf); emHolder.getEntityManager().close(); } } } Jon French Programmer ASRC Management Services ECOS Development Team [EMAIL PROTECTED] 970-226-9290 Fort Collins Science Center US Geological Survey 2150 Centre Ave, Building C Fort Collins, CO 80526-8116 "Musachy Barroso" <[EMAIL PROTECTED]> 10/01/2007 05:10 PM Please respond to "Struts Users Mailing List" <user@struts.apache.org> To "Struts Users Mailing List" <user@struts.apache.org> cc Subject Re: ModelDriven CRUD validation failure still causes JPA update I only use the beanutils.copy solution on a few places, on the other cases I always load the object model on the prepare() method if the "id" field is set (editing), and then call update or create on the entity manager in my action method. I never got that problem so I'm wondering what is different. (I use JPA on top of hibernate) musachy On 10/1/07, Dave Newton <[EMAIL PROTECTED]> wrote: > --- [EMAIL PROTECTED] wrote: > > That's an interesting idea Dave. I'm using the > > paramsPrepareStack. It'll take some investigation to > > > see if that would fix the issue. > > Shouldn't take much; it might be as simple as adding a > validate/defaultWorkFlow up towards the top (although > I might try just adding new ones rather than removing > the existing ones). > > > Fort Collins Science Center > > US Geological Survey > > 2150 Centre Ave, Building C > > I used to live up Poudre River Canyon (Poudre Park); I > sure miss the climbing out there :( > > d. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]