Are you setting the id field of your Functionality Entity? It might help if you explain the scenario that your running through when you encounter this problem.
Thanks, Rick On Thu, Nov 28, 2013 at 12:21 PM, Hildeberto Mendonça <hildebe...@yougi.org>wrote: > Follow up: I have tested it with OpenJPA 2.3.0 and the error is still > happening. :-( Meanwhile, I’ve put back the dependency to EclipseLink and > the problem doesn’t happen in this case. That’s a pity because the > environment I’m using (TomEE) has OpenJPA as the JPA implementation. It’s > always good to optimise dependencies. The entity class is the following: > > > https://github.com/htmfilho/architect/blob/master/src/main/java/com/hildeberto/architect/system/domain/Functionality.java > > The method save(Functionality functionality) is trying to persist this > class: > > > https://github.com/htmfilho/architect/blob/master/src/main/java/com/hildeberto/architect/system/business/FunctionalityBean.java > > On 27 Nov 2013, at 13:49, Hildeberto Mendonça Filho <hildebe...@yougi.org> > wrote: > > > Hello, > > > > I'm currently migrating from EclipseLink to OpenJPA 2.2.0 to access > MySQL 5. Since I use AUTO_INCREMENT in my entity classes, I have my id > field annotated with: > > > > @GeneratedValue(strategy = GenerationType.IDENTITY) > > > > When I try to persist a new entity I get the following exception: > > > > javax.servlet.ServletException: javax.el.ELException: > javax.ejb.EJBException: The bean encountered a non-application exception; > nested exception is: > > <openjpa-2.2.0-r422266:1244990 fatal store error> > org.apache.openjpa.persistence.OptimisticLockException: Attempted to attach > deleted instance type "class > com.hildeberto.architect.system.domain.Functionality" with oid "0". If the > instance is new, the version field should be left to its default value. > > FailedObject: > com.hildeberto.architect.system.domain.Functionality@3ca76aa1 > > javax.faces.webapp.FacesServlet.service(FacesServlet.java:229) > > > > *cause mère* > > > > org.apache.myfaces.view.facelets.el.ContextAwareELException: > javax.el.ELException: javax.ejb.EJBException: The bean encountered a > non-application exception; nested exception is: > > <openjpa-2.2.0-r422266:1244990 fatal store error> > org.apache.openjpa.persistence.OptimisticLockException: Attempted to attach > deleted instance type "class > com.hildeberto.architect.system.domain.Functionality" with oid "0". If the > instance is new, the version field should be left to its default value. > > FailedObject: > com.hildeberto.architect.system.domain.Functionality@3ca76aa1 > > > org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:108) > > > org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68) > > javax.faces.component.UICommand.broadcast(UICommand.java:120) > > > javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028) > > > javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286) > > javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375) > > > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752) > > > org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38) > > > org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170) > > > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) > > javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) > > > > When I remove the annotation @GeneratedValue it works. It doesn't make > sense to me because this annotation is part of the specification. My > persistence.xml is configured as follows: > > > > <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" > http://java.sun.com/xml/ns/persistence > http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> > > <persistence-unit name="architect-pu" transaction-type="JTA"> > > <jta-data-source>jdbc/architect</jta-data-source> > > <exclude-unlisted-classes>false</exclude-unlisted-classes> > > <properties> > > <property name="openjpa.Log" value="SQL=TRACE"/> > > <property name="openjpa.ConnectionFactoryProperties" > value="PrettyPrint=true, PrettyPrintLineLength=72"/> > > <property name="openjpa.jdbc.DBDictionary" > value="org.apache.openjpa.jdbc.sql.MySQLDictionary"/> > > </properties> > > </persistence-unit> > > </persistence> > > > > I made some research but didn't get any conclusive solution for that. > > > > Thanks in advance for any advice. > > > > Hildeberto > > -- *Rick Curtis*