[ 
https://issues.apache.org/jira/browse/ISIS-2984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hao S updated ISIS-2984:
------------------------
    Description: 
DB: mysql 8

Tested project: Demo App SimpleApp, 2.0.0.M7

When this is used:
{code:java}
GenerationType.SEQUENCE{code}
Error:
{code:java}
Caused by: java.lang.IllegalArgumentException: The persistence layer does not 
recognize given object of type domainapp.modules.simple.dom.so.SimpleObject, 
meaning the object has no identifier that associates it with the persistence 
layer. (most likely, because the object is detached, eg. was not persisted 
after being new-ed up)
    at 
org.apache.isis.commons.internal.exceptions._Exceptions.illegalArgument(_Exceptions.java:79)
 ~[isis-commons-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.persistence.jpa.integration.entity.JpaEntityFacetFactory$JpaEntityFacet.identifierFor(JpaEntityFacetFactory.java:135)
 ~[isis-persistence-jpa-integration-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.core.metamodel.objectmanager.ObjectManager.autoBookmarked(ObjectManager.java:207)
 ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.core.metamodel.objectmanager.ObjectManager.adapt(ObjectManager.java:158)
 ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.core.metamodel.objectmanager.ObjectManager.adapt(ObjectManager.java:130)
 ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener.onPrePersist(IsisEntityListener.java:73)
 ~[isis-persistence-jpa-applib-2.0.0-M7.jar:2.0.0-M7]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
    at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
    at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at 
org.eclipse.persistence.internal.security.PrivilegedAccessHelper.invokeMethod(PrivilegedAccessHelper.java:530)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener.invokeMethod(EntityListener.java:322)
 ~[org.eclipse.persistence.jpa-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener.invokeMethod(EntityListener.java:346)
 ~[org.eclipse.persistence.jpa-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener.prePersist(EntityListener.java:453)
 ~[org.eclipse.persistence.jpa-2.7.10.jar:?]
    at 
org.eclipse.persistence.descriptors.DescriptorEventManager.notifyListener(DescriptorEventManager.java:746)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.descriptors.DescriptorEventManager.notifyEJB30Listeners(DescriptorEventManager.java:672)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.descriptors.DescriptorEventManager.executeEvent(DescriptorEventManager.java:233)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectClone(UnitOfWorkImpl.java:4468)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4445)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:523)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]
    at 
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4387)
 ~[org.eclipse.persistence.core-2.7.10.jar:?]{code}
Basically the entity does not get a auto-generated primary key. This worked 
before in 2.0.0.M6

Thanks!

  was:
DB: mysql 8

When this is used:
{code:java}
GenerationType.SEQUENCE{code}
Error:
{code:java}
Caused by: java.lang.IllegalArgumentException: The persistence layer does not 
recognize given object of type xxx, meaning the object has no identifier that 
associates it with the persistence layer. (most likely, because the object is 
detached, eg. was not persisted after being new-ed up)
    at 
org.apache.isis.commons.internal.exceptions._Exceptions.illegalArgument(_Exceptions.java:79)
 ~[isis-commons-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.persistence.jpa.integration.entity.JpaEntityFacetFactory$JpaEntityFacet.identifierFor(JpaEntityFacetFactory.java:135)
 ~[isis-persistence-jpa-integration-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.core.metamodel.objectmanager.ObjectManager.autoBookmarked(ObjectManager.java:207)
 ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.core.metamodel.objectmanager.ObjectManager.adapt(ObjectManager.java:158)
 ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.core.metamodel.objectmanager.ObjectManager.adapt(ObjectManager.java:130)
 ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
    at 
org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener.onPrePersist(IsisEntityListener.java:73)
 ~[isis-persistence-jpa-applib-2.0.0-M7.jar:2.0.0-M7] {code}
Basically the entity does not get a auto-generated primary key. This worked 
before in 2.0.0.M6

Thanks!


> @GeneratedValue(strategy = GenerationType.SEQUENCE) no longer works after 
> migrating to 2.0.0.M7
> -----------------------------------------------------------------------------------------------
>
>                 Key: ISIS-2984
>                 URL: https://issues.apache.org/jira/browse/ISIS-2984
>             Project: Isis
>          Issue Type: Bug
>          Components: Isis Persistence JPA
>    Affects Versions: 2.0.0-M7
>            Reporter: Hao S
>            Priority: Major
>
> DB: mysql 8
> Tested project: Demo App SimpleApp, 2.0.0.M7
> When this is used:
> {code:java}
> GenerationType.SEQUENCE{code}
> Error:
> {code:java}
> Caused by: java.lang.IllegalArgumentException: The persistence layer does not 
> recognize given object of type domainapp.modules.simple.dom.so.SimpleObject, 
> meaning the object has no identifier that associates it with the persistence 
> layer. (most likely, because the object is detached, eg. was not persisted 
> after being new-ed up)
>     at 
> org.apache.isis.commons.internal.exceptions._Exceptions.illegalArgument(_Exceptions.java:79)
>  ~[isis-commons-2.0.0-M7.jar:2.0.0-M7]
>     at 
> org.apache.isis.persistence.jpa.integration.entity.JpaEntityFacetFactory$JpaEntityFacet.identifierFor(JpaEntityFacetFactory.java:135)
>  ~[isis-persistence-jpa-integration-2.0.0-M7.jar:2.0.0-M7]
>     at 
> org.apache.isis.core.metamodel.objectmanager.ObjectManager.autoBookmarked(ObjectManager.java:207)
>  ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
>     at 
> org.apache.isis.core.metamodel.objectmanager.ObjectManager.adapt(ObjectManager.java:158)
>  ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
>     at 
> org.apache.isis.core.metamodel.objectmanager.ObjectManager.adapt(ObjectManager.java:130)
>  ~[isis-core-metamodel-2.0.0-M7.jar:2.0.0-M7]
>     at 
> org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener.onPrePersist(IsisEntityListener.java:73)
>  ~[isis-persistence-jpa-applib-2.0.0-M7.jar:2.0.0-M7]
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:?]
>     at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  ~[?:?]
>     at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?]
>     at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
>     at 
> org.eclipse.persistence.internal.security.PrivilegedAccessHelper.invokeMethod(PrivilegedAccessHelper.java:530)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener.invokeMethod(EntityListener.java:322)
>  ~[org.eclipse.persistence.jpa-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener.invokeMethod(EntityListener.java:346)
>  ~[org.eclipse.persistence.jpa-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener.prePersist(EntityListener.java:453)
>  ~[org.eclipse.persistence.jpa-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.descriptors.DescriptorEventManager.notifyListener(DescriptorEventManager.java:746)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.descriptors.DescriptorEventManager.notifyEJB30Listeners(DescriptorEventManager.java:672)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.descriptors.DescriptorEventManager.executeEvent(DescriptorEventManager.java:233)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectClone(UnitOfWorkImpl.java:4468)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4445)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:523)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]
>     at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4387)
>  ~[org.eclipse.persistence.core-2.7.10.jar:?]{code}
> Basically the entity does not get a auto-generated primary key. This worked 
> before in 2.0.0.M6
> Thanks!



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to