Project

General

Profile

Actions

Defect #422

closed

Synchronization eav attribute create early than entity

Added by Ondřej Kopr almost 7 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Vít Švanda
Category:
Synchronization
Target version:
Start date:
05/12/2017
Due date:
% Done:

100%

Estimated time:
Affected versions:
Owner:

Description

After start synchronization with mapping eav attribute get this errror:

2017-05-12T16:10:30.912+02:00: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: eu.bcvsolutions.idm.core.model.entity.IdmIdentity; nested exception is java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: eu.bcvsolutions.idm.core.model.entity.IdmIdentity
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:381)
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:227)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:436)
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
    at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:131)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy155.findByOwnerAndFormAttributeOrderBySeqAsc(Unknown Source)
    at eu.bcvsolutions.idm.core.eav.service.impl.AbstractFormValueService.getValues(AbstractFormValueService.java:157)
    at eu.bcvsolutions.idm.core.eav.service.impl.AbstractFormValueService.deleteValues(AbstractFormValueService.java:205)
    at sun.reflect.GeneratedMethodAccessor596.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy223.deleteValues(Unknown Source)
    at eu.bcvsolutions.idm.core.eav.service.impl.DefaultFormService.deleteValues(DefaultFormService.java:426)
    at eu.bcvsolutions.idm.core.eav.service.impl.DefaultFormService.saveValues(DefaultFormService.java:335)
    at sun.reflect.GeneratedMethodAccessor595.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy230.saveValues(Unknown Source)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.lambda$4(AbstractSynchronizationExecutor.java:1342)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.updateExtendedAttributes(AbstractSynchronizationExecutor.java:1310)
    at eu.bcvsolutions.idm.acc.service.impl.IdentitySynchronizationExecutor.doUpdateEntity(IdentitySynchronizationExecutor.java:232)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.resolveLinkedSituation(AbstractSynchronizationExecutor.java:972)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.doItemSynchronization(AbstractSynchronizationExecutor.java:333)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.doItemSynchronization(DefaultSynchronizationService.java:200)
    at sun.reflect.GeneratedMethodAccessor587.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

Actions #1

Updated by Vít Švanda almost 7 years ago

  • Status changed from New to In Progress
Actions #2

Updated by Vít Švanda almost 7 years ago

  • % Done changed from 0 to 60
  • Problem was in conversion between DTO and Identity.
  • Solved - call form service saveValue with ID and Entity class.
  • Remains create test to synchronization
Actions #3

Updated by Vít Švanda almost 7 years ago

  • Tracker changed from Task to Defect
Actions #4

Updated by Vít Švanda almost 7 years ago

  • % Done changed from 60 to 90

DefaultSynchronizationServiceTest extended.

Actions #5

Updated by Vít Švanda almost 7 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Vít Švanda to Ondřej Kopr
Actions #6

Updated by Ondřej Kopr almost 7 years ago

  • Status changed from Needs feedback to Resolved
  • Assignee changed from Ondřej Kopr to Vít Švanda
  • % Done changed from 90 to 100

I tested this on same use case as for first time, every thing works perfectly. Thank you for fix this bug.

Actions #7

Updated by Vít Švanda almost 7 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF