Hi,
I am using SEAM Managed EntityManager with FushMode set to Manual for a JTA datasource.
When I flush the EntityManager for some invalid update, I get a database exception.
I catch this exception, the entity I am updating is still attached and I try to correct
the invalid data and then try to reflush the update. However I can't persist the
change even though this time it is valid. I get a
javax.persistence.TransactionRequiredException: no transaction is in progress exception.
I am wondering is there any way I can recover from transaction failure?
My code is below.
| @Name("manager")
| @Scope(CONVERSATION)
| public void SeamPOJO {
| @In
| private EntityManager em;
|
| @End
| public String commit () {
| // Create entity
| Person person = new Person();
| // set invalid data
| person.setName("namethatistoolong");
| em.persist(person);
| try {
| em.flush();
| } catch (Exception e) {
| // data is invalid correct it
| person.setName("john");
| em.flush();
| }
| }
|
~any advice, comments appreciated. Thanks
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4123575#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...