openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From José Luis Cetina <maxtorz...@gmail.com>
Subject Re: InvalidStateException
Date Tue, 12 Mar 2013 19:27:06 GMT
Something estrange is happen here. Maybe could be a bug.

Look this.
In ejb module the way that actually i retrieve my entities.
1.
public List<MyObject> getObjects(){
        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<MyObject> cq = cb.createQuery(MyObject.class);
        Root<MyObject> root = cq.from(MyObject.class);
        cq.select(root);
        return em.createQuery(cq).getResultList();
}

Then for test i decided to only retrieve 1 entity and not all of them, then

Option 1. The problem still.

public MyObject getObject(){
        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<MyObject> cq = cb.createQuery(MyObject.class);
        Root<MyObject> root = cq.from(MyObject.class);
        cq.select(root);
        cq.where(cb.equal(root.get(MyObject.id), 1));
        return em.createQuery(cq).getSingleResult();
}


Option 2. The problem disappear
public MyObject getObject(){
        return em.find(MyObject.class, 1);
}

Why?????

What happen when i use the criterias why this works if i use em.find???


2013/3/12 José Luis Cetina <maxtorzito@gmail.com>

> Here it is, with this example i use kx_examenes_diagnostico persistence
> unit
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <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="kx_core" transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>         <jta-data-source>KXCoreDataSource</jta-data-source>
>         <jar-file>../lib/kx-apps-model-1.0.jar</jar-file>
>         <exclude-unlisted-classes>false</exclude-unlisted-classes>
>         <properties>
>             <property name="openjpa.jdbc.DBDictionary"
> value="mysql(batchLimit=-1)"/>
>         </properties>
>     </persistence-unit>
>
>     <persistence-unit name="kx_ispconfig" transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>         <jta-data-source>ISPConfigDataSource</jta-data-source>
>         <jar-file>../lib/kx-apps-model-1.0.jar</jar-file>
>         <exclude-unlisted-classes>false</exclude-unlisted-classes>
>         <properties>
>             <property name="openjpa.jdbc.DBDictionary"
> value="mysql(batchLimit=-1)"/>
>         </properties>
>     </persistence-unit>
>
>
>     <persistence-unit name="kx_mailing" transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>         <jta-data-source>MailingDataSource</jta-data-source>
>         <jar-file>../lib/kx-apps-model-1.0.jar</jar-file>
>         <exclude-unlisted-classes>false</exclude-unlisted-classes>
>         <properties>
>             <property name="openjpa.jdbc.DBDictionary"
> value="mysql(batchLimit=-1)"/>
>         </properties>
>     </persistence-unit>
>
>     <persistence-unit name="kx_facturacion" transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>         <jta-data-source>FacturacionDataSource</jta-data-source>
>         <jar-file>../lib/kx-apps-model-1.0.jar</jar-file>
>         <exclude-unlisted-classes>false</exclude-unlisted-classes>
>         <properties>
>             <property name="openjpa.jdbc.DBDictionary"
> value="mysql(batchLimit=-1)"/>
>         </properties>
>     </persistence-unit>
>
>
>     <persistence-unit name="kx_examenes_diagnostico"
> transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>         <jta-data-source>ExamenesDiagnosticoDataSource</jta-data-source>
>         <jar-file>../lib/kx-apps-model-1.0.jar</jar-file>
>         <exclude-unlisted-classes>false</exclude-unlisted-classes>
>         <properties>
>             <property name="openjpa.jdbc.DBDictionary"
> value="batchLimit=15, JoinSyntax=traditional"/>
>             <property name="openjpa.Log" value="SQL=TRACE, Query=INFO"/>
>             <property name="openjpa.ConnectionFactoryProperties"
> value="PrettyPrint=true, PrettyPrintLineLength=80, PrintParameters=true"/>
>         </properties>
>     </persistence-unit>
>
>      <persistence-unit name="kx_rhino" transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>         <jta-data-source>MyDataSource</jta-data-source>
>         <jar-file>../lib/kx-apps-model-1.0.jar</jar-file>
>         <exclude-unlisted-classes>false</exclude-unlisted-classes>
>         <properties>
>             <property name="openjpa.jdbc.DBDictionary"
> value="batchLimit=15, JoinSyntax=traditional"/>
>             <property name="openjpa.Log" value="SQL=TRACE, Query=INFO"/>
>             <property name="openjpa.ConnectionFactoryProperties"
> value="PrettyPrint=true, PrettyPrintLineLength=80, PrintParameters=true"/>
>         </properties>
>     </persistence-unit>
>
> </persistence>
>
>
>
> 2013/3/12 Kevin Sutter <kwsutter@gmail.com>
>
>> Hi Jose,
>> Your scenario looks like the classic use of detached entities and merging
>> them back into a persistence context.  This pattern is used over and over
>> again by many customers.  Nothing is jumping out at me as to what the
>> issue
>> could be.  There must be something unique to your scenario or environment
>> that is causing an issue.
>>
>> What about your persistence.xml?  Can you post that?  Any chance you are
>> using some openjpa property that might be affecting this processing?
>>
>> Kevin
>>
>> On Tue, Mar 12, 2013 at 1:28 PM, José Luis Cetina <maxtorzito@gmail.com
>> >wrote:
>>
>> > This is the scenario:
>> >
>> > This is a webapplication, using JSF+EJB
>> >
>> > 1. The webpage (jsf) call a method to an EJB, for get a List of existent
>> > entities from database.
>> > 2. In EJB i get a list (List<MyObject>) of entities let say
>> > (MyObject.class), i get them using a query.
>> > 3. The ejb return a list of entities (2 entities for example) of course
>> at
>> > this point the entities are "sended" by the ejb to the managedbean (then
>> > the entities are out of the persistence context  therefore the are
>> > dettached)
>> > 4. Then in the managedbean in X method i do the follow:
>> >      - Get 1 of the dettached entities of the list. (MyObject)
>> >      - Change some attribute let say the "DESCRIPTION" attribute
>> >      - The managedbean now CALL and EJB method for do an update of this
>> > entity.
>> > 5. The EJB method receive 1 MyObject ( public void update(MyObject obj)
>> )
>> > 6. Then the EJB method need to call an update because the "DESCRIPTION"
>> > property has changed
>> > 7. The method is like this:
>> >
>> >    public void update(MyObject obj){
>> >         begin transaction...
>> >         em.merge(obj);
>> >         commit transaction...
>> >    }
>> >
>> > 8. I get this error:
>> > <openjpa-2.2.0-r422266:1244990 nonfatal user error> org.apache.openjpa.
>> > persistence.InvalidStateException: Primary key field
>> com.test.MyObject.idof
>> > com.test.MyObject@198e0705 has non-default value. The instance life
>> cycle
>> > is in PNewState state and hence an existing non-default value for the
>> > identity field is not permitted. You either need to remove the
>> > @GeneratedValue annotation or modify the code to remove the initializer
>> > processing.
>> >
>> >
>> >
>> > Notes:
>> >
>> > 1. Of course the id of the entity has a value because this was an entity
>> > that the EJB gave me (doing a query to database) and then the only
>> change
>> > is the "DESCRIPTION" attribute, that's why i expect merge method to do
>> an
>> > update because the ID HAS THE VALUE RETRIEVED FROM DATABASE.
>> >
>> > 2. About i've commented before " >  FYI, if i create an object (new
>> > operator) with an existent id (in database),change some field and then
>> call
>> > my ejb for merge operation, this works great.."
>> >  This is a test that i did, i create a new object in my managedbean then
>> > and set the ID to any ID that exists in database then i set a
>> "description"
>> > then call ejb and do a merge and this did an update.
>> >
>> > Example:
>> >
>> > MyMangedBean,
>> >
>> > public void someMethod(){
>> >   MyObject obj = MyObject();
>> >   obj.setId(1);//this id exist in the database
>> >   obj.setDescription("NEW DESCRIPTION");
>> >   ejb.update(obj);
>> > }
>> >
>> > 3.The changes in the Object was made in the ManagedBean, thats why the
>> > managedbean pass the same object (that it retrieved) but with some
>> > "attributes changes" (like DESCRIPTION) and the the EJB only need to
>> merge
>> >
>> >
>> >
>> > Thanks.
>> >
>> > 2013/3/12 Kevin Sutter <kwsutter@gmail.com>
>> >
>> > > Hi Jose,
>> > > I need to back up to your specific scenario...  Why are you calling
>> > > merge()?  To force an update?  The merge() method is not used to
>> force an
>> > > update.  The merge() method is used to merge an entity into your
>> > > persistence context.  If the merged entity is a detached entity, it
>> will
>> > > now be managed by the persistence context so that any changes will
>> > > eventually get pushed out to the database.  If the merged entity is a
>> new
>> > > entity, then this entity will eventually get inserted into the
>> database
>> > > (acts like a persist).  Since you are using @GeneratedValues, then in
>> > this
>> > > latter case, the new entity would not have an ID value filled in yet.
>> > >
>> > > If your entity is already managed and part of the current persistence
>> > > context, then there is no need to call merge().  Any updates to that
>> > entity
>> > > will automatically be determined and committed to the database when
>> the
>> > > transaction completes.
>> > >
>> > > And, in one of your replies, you mention this process:
>> > > >  FYI, if i create an object (new operator) with an existent id (in
>> > > database),change some field and then call my ejb for merge operation,
>> > this
>> > > works great.
>> > >
>> > > So, I'm confused on your scenario and what the expected result should
>> > be...
>> > >
>> > > Kevin
>> > >
>> > > On Mon, Mar 11, 2013 at 4:33 PM, José Luis Cetina <
>> maxtorzito@gmail.com
>> > > >wrote:
>> > >
>> > > > Anyone?
>> > > >
>> > > >
>> > > > 2013/3/11 José Luis Cetina <maxtorzito@gmail.com>
>> > > >
>> > > > > I tried now with 2.2.1 and the same result. With this is
>> impossible
>> > to
>> > > > > edit any entity.
>> > > > >
>> > > > > Some advice?
>> > > > >
>> > > > >
>> > > > > 2013/3/11 José Luis Cetina <maxtorzito@gmail.com>
>> > > > >
>> > > > >> I added and get the same exception:
>> > > > >>
>> > > > >> <openjpa-2.2.0-r422266:1244990 nonfatal user error>
>> > > > >> org.apache.openjpa.persistence.InvalidStateException: Primary key
>> > > field
>> > > > >> com.grupokx.model.core.MyClass.idTest of
>> > > > >> com.grupokx.model.core.MyClass@28e0f7f6 has non-default value.
>> The
>> > > > >> instance life cycle is in PNewState state and hence an existing
>> > > > non-default
>> > > > >> value for the identity field is not permitted. You either need to
>> > > remove
>> > > > >> the @GeneratedValue annotation or modify the code to remove the
>> > > > initializer
>> > > > >> processing.
>> > > > >>  at
>> > > > >>
>> > org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:489)
>> > > > >> at
>> > > >
>> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:469)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:740)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:135)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:612)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2977)
>> > > > >>  at
>> > org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1054)
>> > > > >>  at
>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2112)
>> > > > >> at
>> > > org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:527)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:512)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:413)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:262)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.CoreUserTransaction.commit(CoreUserTransaction.java:57)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.transaction.EjbUserTransaction.commit(EjbUserTransaction.java:37)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.BaseContext$UserTransactionWrapper.commit(BaseContext.java:247)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> com.grupokx.businesslayer.ejbs.examenesdiagnostico.ExamenesAplicadosFacade.editarBDTest(ExamenesAplicadosFacade.java:277)
>> > > > >>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >> at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>> > > > >>  at
>> > > >
>> org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:130)
>> > > > >> at
>> > > > >>
>> > >
>> org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:43)
>> > > > >>  at
>> > > org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:67)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:73)
>> > > > >>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >> at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:180)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:99)
>> > > > >>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >> at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:233)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:185)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:256)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:251)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:85)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279)
>> > > > >> at $Proxy220.editarBDTest(Unknown Source)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> com.grupokx.examenesdiagnostico.controller.examenes.ExamenesIndexMBean.onCellEdit(ExamenesIndexMBean.java:148)
>> > > > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>  at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> com.grupokx.examenesdiagnostico.controller.examenes.ExamenesIndexMBean_$$_javassist_52.onCellEdit(ExamenesIndexMBean_$$_javassist_52.java)
>> > > > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>  at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >> at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>> > > > >>  at
>> > > > >>
>> > >
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processArgListener(AjaxBehaviorListenerImpl.java:56)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:47)
>> > > > >>  at
>> > > > >>
>> > > >
>> >
>> org.primefaces.event.CellEditEvent.processListener(CellEditEvent.java:55)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:74)
>> > > > >>  at
>> > > > >>
>> > > >
>> >
>> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:407)
>> > > > >> at javax.faces.component.UIData.broadcast(UIData.java:1610)
>> > > > >>  at javax.faces.component.UIData.broadcast(UIData.java:1596)
>> > > > >> at
>> > > javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028)
>> > > > >>  at
>> > > >
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286)
>> > > > >> at
>> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375)
>> > > > >>  at
>> > > > >>
>> > >
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>> > > > >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>> > > > >>  at
>> > > org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>> > > > >> at
>> > > > >>
>> > > >
>> > >
>> >
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> > > > >>  at
>> > > > >>
>> > > >
>> > >
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> > > > >> at java.lang.Thread.run(Thread.java:722)
>> > > > >>
>> > > > >>
>> > > > >> 2013/3/11 José Luis Cetina <maxtorzito@gmail.com>
>> > > > >>
>> > > > >>> Ok, i will try.
>> > > > >>>
>> > > > >>> FYI, if i create an object (new operator) with an existent id
>> (in
>> > > > >>> database),change some field and then call my ejb for merge
>> > operation,
>> > > > this
>> > > > >>> works great.
>> > > > >>>
>> > > > >>> I will add version filed right now.
>> > > > >>>
>> > > > >>>
>> > > > >>> 2013/3/11 Rick Curtis <curtisr7@gmail.com>
>> > > > >>>
>> > > > >>>> Just for giggles, could you try adding a version field to your
>> > > Entity?
>> > > > >>>>
>> > > > >>>>
>> > > > >>>> On Mon, Mar 11, 2013 at 2:42 PM, José Luis Cetina <
>> > > > maxtorzito@gmail.com
>> > > > >>>> >wrote:
>> > > > >>>>
>> > > > >>>> > Im using OpenJPA 2.2.0 + enhancement  with Apache TomEE
>> > > > >>>> >
>> > > > >>>> >
>> > > > >>>> > 2013/3/11 José Luis Cetina <maxtorzito@gmail.com>
>> > > > >>>> >
>> > > > >>>> > > Im using OpenJPA 2.2.0 9 enhancement  with Apache TomEE
>> > > > >>>> > >
>> > > > >>>> > >
>> > > > >>>> > > 2013/3/11 José Luis Cetina <maxtorzito@gmail.com>
>> > > > >>>> > >
>> > > > >>>> > >> Here it is:
>> > > > >>>> > >>
>> > > > >>>> > >> WARNING - Unexpected exception from beforeCompletion;
>> > > transaction
>> > > > >>>> will
>> > > > >>>> > >> roll back
>> > > > >>>> > >> <openjpa-2.2.0-r422266:1244990 nonfatal user error>
>> > > > >>>> > >> org.apache.openjpa.persistence.InvalidStateException:
>> Primary
>> > > key
>> > > > >>>> field
>> > > > >>>> > >> com.grupokx.model.core.MyClass.idTest of
>> > > > >>>> > >> com.grupokx.model.core.MyClass@198e0705 has non-default
>> > value.
>> > > > The
>> > > > >>>> > >> instance life cycle is in PNewState state and hence an
>> > existing
>> > > > >>>> > non-default
>> > > > >>>> > >> value for the identity field is not permitted. You either
>> > need
>> > > to
>> > > > >>>> remove
>> > > > >>>> > >> the @GeneratedValue annotation or modify the code to
>> remove
>> > the
>> > > > >>>> > initializer
>> > > > >>>> > >> processing.
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>>
>> > > org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:489)
>> > > > >>>> > >> at
>> > > > >>>> >
>> > > >
>> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:469)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:740)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:135)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:612)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2977)
>> > > > >>>> > >>  at
>> > > > >>>>
>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1054)
>> > > > >>>> > >>  at
>> > > > >>>>
>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2112)
>> > > > >>>> > >> at
>> > > > >>>>
>> > org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:527)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:512)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:413)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:262)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.CoreUserTransaction.commit(CoreUserTransaction.java:57)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.transaction.EjbUserTransaction.commit(EjbUserTransaction.java:37)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.BaseContext$UserTransactionWrapper.commit(BaseContext.java:247)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> com.grupokx.businesslayer.ejbs.examenesdiagnostico.ExamenesAplicadosFacade.editarBDTest(ExamenesAplicadosFacade.java:277)
>> > > > >>>> > >>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>>> > >> at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>> > > > >>>> > >>  at
>> > > > >>>> >
>> > > >
>> org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:130)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>>
>> > > >
>> > org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:43)
>> > > > >>>> > >>  at
>> > > > >>>>
>> > org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:67)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:73)
>> > > > >>>> > >>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>>> > >> at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:180)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:99)
>> > > > >>>> > >>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>>> > >> at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:233)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:185)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:256)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:251)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:85)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279)
>> > > > >>>> > >> at $Proxy219.editarBDTest(Unknown Source)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> com.grupokx.examenesdiagnostico.controller.examenes.ExamenesIndexMBean.onCellEdit(ExamenesIndexMBean.java:146)
>> > > > >>>> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>>> > >>  at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> com.grupokx.examenesdiagnostico.controller.examenes.ExamenesIndexMBean_$$_javassist_52.onCellEdit(ExamenesIndexMBean_$$_javassist_52.java)
>> > > > >>>> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > >>>> > >>  at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > >>>> > >> at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>>
>> > > >
>> > org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processArgListener(AjaxBehaviorListenerImpl.java:56)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:47)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> >
>> org.primefaces.event.CellEditEvent.processListener(CellEditEvent.java:55)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:74)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> >
>> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:407)
>> > > > >>>> > >> at
>> javax.faces.component.UIData.broadcast(UIData.java:1610)
>> > > > >>>> > >>  at
>> javax.faces.component.UIData.broadcast(UIData.java:1596)
>> > > > >>>> > >> at
>> > > > >>>>
>> > javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028)
>> > > > >>>> > >>  at
>> > > > >>>> >
>> > > >
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286)
>> > > > >>>> > >> at
>> > > > javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>>
>> > > >
>> > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>> > > > >>>> > >> at
>> > > javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>> > > > >>>> > >>  at
>> > > > >>>>
>> > org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>> > > > >>>> > >> at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> > > > >>>> > >>  at
>> > > > >>>> > >>
>> > > > >>>> >
>> > > > >>>>
>> > > >
>> > >
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> > > > >>>> > >> at java.lang.Thread.run(Thread.java:722)
>> > > > >>>> > >>
>> > > > >>>> > >>
>> > > > >>>> > >> 2013/3/11 Rick Curtis <curtisr7@gmail.com>
>> > > > >>>> > >>
>> > > > >>>> > >>> Can you please post the entire stack trace?
>> > > > >>>> > >>>
>> > > > >>>> > >>>
>> > > > >>>> > >>> On Mon, Mar 11, 2013 at 2:23 PM, José Luis Cetina <
>> > > > >>>> > maxtorzito@gmail.com
>> > > > >>>> > >>> >wrote:
>> > > > >>>> > >>>
>> > > > >>>> > >>> > Hi, i have problems trying to use merge method.
>> > > > >>>> > >>> >
>> > > > >>>> > >>> > I have this scenerio.
>> > > > >>>> > >>> >
>> > > > >>>> > >>> > 1. My Managedbean get a list of Object  (MyClass) those
>> > > > objects
>> > > > >>>> are
>> > > > >>>> > in
>> > > > >>>> > >>> the
>> > > > >>>> > >>> > database, the ejb use a Criteria to get all records.
>> > > > >>>> > >>> >
>> > > > >>>> > >>> > 2. The managedbean change some property (like
>> description)
>> > > in
>> > > > >>>> one of
>> > > > >>>> > >>> the
>> > > > >>>> > >>> > detached entities (that i get from the list).
>> > > > >>>> > >>> >
>> > > > >>>> > >>> > 3. The managedbean call a EJB and in the EJB i try to
>> use
>> > > > merge
>> > > > >>>> for
>> > > > >>>> > >>> update
>> > > > >>>> > >>> > propuses. Then i get this exception:
>> > > > >>>> > >>> >  org.apache.openjpa.persistence.InvalidStateException:
>> > > Primary
>> > > > >>>> key
>> > > > >>>> > >>> field
>> > > > >>>> > >>> > com.test.MyClass.id of com.test.MyClass.id 652eb3bd
>> has
>> > > > >>>> non-default
>> > > > >>>> > >>> value.
>> > > > >>>> > >>> > The instance life cycle is in PNewState state and
>> hence an
>> > > > >>>> existing
>> > > > >>>> > >>> > non-default value for the identity field is not
>> permitted.
>> > > You
>> > > > >>>> either
>> > > > >>>> > >>> need
>> > > > >>>> > >>> > to
>> > > > >>>> > >>> > remove the @GeneratedValue annotation or modify the
>> code
>> > to
>> > > > >>>> remove
>> > > > >>>> > the
>> > > > >>>> > >>> > initializer processing.
>> > > > >>>> > >>> >
>> > > > >>>> > >>> > I dont know why this error is happens, the id of the
>> > object
>> > > is
>> > > > >>>> the
>> > > > >>>> > >>> same id
>> > > > >>>> > >>> > that i get when i do the query in the EJB, that id,
>> never
>> > > > >>>> changes.
>> > > > >>>> > >>> >
>> > > > >>>> > >>> > Anyone has any idea, what im doing wrong??
>> > > > >>>> > >>> >
>> > > > >>>> > >>>
>> > > > >>>> > >>>
>> > > > >>>> > >>>
>> > > > >>>> > >>> --
>> > > > >>>> > >>> *Rick Curtis*
>> > > > >>>> > >>>
>> > > > >>>> > >>
>> > > > >>>> > >>
>> > > > >>>> > >>
>> > > > >>>> > >> --
>> > > > >>>> > >>
>> > > > -------------------------------------------------------------------
>> > > > >>>> > >> *SCJA. José Luis Cetina*
>> > > > >>>> > >>
>> > > > -------------------------------------------------------------------
>> > > > >>>> > >>
>> > > > >>>> > >
>> > > > >>>> > >
>> > > > >>>> > >
>> > > > >>>> > > --
>> > > > >>>> > >
>> > > > -------------------------------------------------------------------
>> > > > >>>> > > *SCJA. José Luis Cetina*
>> > > > >>>> > >
>> > > > -------------------------------------------------------------------
>> > > > >>>> > >
>> > > > >>>> >
>> > > > >>>> >
>> > > > >>>> >
>> > > > >>>> > --
>> > > > >>>> >
>> > > -------------------------------------------------------------------
>> > > > >>>> > *SCJA. José Luis Cetina*
>> > > > >>>> >
>> > > -------------------------------------------------------------------
>> > > > >>>> >
>> > > > >>>>
>> > > > >>>>
>> > > > >>>>
>> > > > >>>> --
>> > > > >>>> *Rick Curtis*
>> > > > >>>>
>> > > > >>>
>> > > > >>>
>> > > > >>>
>> > > > >>> --
>> > > > >>>
>> -------------------------------------------------------------------
>> > > > >>> *SCJA. José Luis Cetina*
>> > > > >>>
>> -------------------------------------------------------------------
>> > > > >>>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> --
>> > > > >>
>> -------------------------------------------------------------------
>> > > > >> *SCJA. José Luis Cetina*
>> > > > >>
>> -------------------------------------------------------------------
>> > > > >>
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > >
>> -------------------------------------------------------------------
>> > > > > *SCJA. José Luis Cetina*
>> > > > >
>> -------------------------------------------------------------------
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > -------------------------------------------------------------------
>> > > > *SCJA. José Luis Cetina*
>> > > > -------------------------------------------------------------------
>> > > >
>> > >
>> >
>> >
>> >
>> > --
>> > -------------------------------------------------------------------
>> > *SCJA. José Luis Cetina*
>> > -------------------------------------------------------------------
>> >
>>
>
>
>
> --
> -------------------------------------------------------------------
> *SCJA. José Luis Cetina*
> -------------------------------------------------------------------
>



-- 
-------------------------------------------------------------------
*SCJA. José Luis Cetina*
-------------------------------------------------------------------

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message