Environment:
I have tried this in serveral environments...
Seam 1.2.1
JBoss 4.0.5 and 4.2.1
Myfaces (JSF 1.1) and JSF 1.2 RI
Windows XP and Solaris 10
HSQLDB and Oracle

Scenario:
I have a basic situation where I want to edit an entity (and it's related 
entities on an edit page), go to a confirmation page and let the user either 
cancel or save their changes.


  |     @Begin(join=true, flushMode=FlushModeType.MANUAL)
  |     public String lookupBlah()
  |     {
  |           //lookup blah....
  |           return "edit";
  |     }
  | 
  |     public String editBlah()
  |     {
  |           em.merge(blah);
  |           return "edit";
  |     }
  | 
  |     @End
  |     public String cancelEdit()
  |     {
  |           return "home";
  |     }
  | 
  |     @End
  |     public String submitEdit()
  |     {
  |           em.flush();
  |           return "home";
  |     }
  | 

The Problem:
Unfortunately, this doesn't work for me.  The  changes are always persisted, 
even if the user clicks the cancel button.  I am however able to manually tell 
the em not to flush by putting 
((EntityManagerImpl)em.getDelegate()).getSession().setFlushMode(FlushMode.NEVER);
 at the first line of lookupBlah().

My Questions:
Any idea why setting the FlushModeType in @Begin isn't working?  Does anyone 
else have it working?  Does my call to the Hibernate Session's setFlushMode 
method break anything else?

Sidebar/feature request:
It would be great if @End had an optional parameter flush which defaults to 
true.  This way you wouldn't have to call em.flush.  Also, cancel methods would 
just have @End(flush=false) or something like that.

Seam Rocks!
Thank you,
Austin

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083366#4083366

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083366
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to