[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] EmbeddedObjects - fields not populated correctly
|
See thread,
http://www.eclipse.org/forums/index.php/t/209146/
Tim Martin-11 wrote:
>
> We have just moved over from toplink to eclipselink, and none of our
> embedded objects are being correctly populated on calls to em.find()
> (maybe others to). When debugging I can see that the correctly populated
> object has been returned from the db (and is in a cache?), but when
> building / copying/ cloning that object to return to the caller of
> em.find() it is failing to pull the value out of that object into the
> returned object. It appears that in here
>
> (org.eclipse.persistence.internal.descriptors.PersistenceObjectAttributeAccessor.getAttributeValueFromObject(Object)
> ):
>
> public Object getAttributeValueFromObject(Object object) {
> return
> ((PersistenceObject)object)._persistence_get(this.attributeName);
> }
>
>
>
> the object passed in is the object containing the embedded object, yet
> this.attributeName is name of the field in the embedded object - in this
> case 'value' and returns null as there is no attribute named 'value' in
> the object passed in. I can only see that it would work if the embedded
> object itself was passed in, or if the attribute name was name of the
> embedded object.
>
> in the calling method next down the stack frame the direct to field
> mapping is org.eclipse.persistence.mappings.DirectToFieldMapping[value-
> - >WSSDBA.WBR_USER.ACHOLLOOKUPONLY].
>
> Something is not quite right with the weaving or something elseewhere,
> has anyone seen anything similar ?
>
> Eclipselink 2.2.0.
>
> I am trying to reproduce this is a standalone app/ ear but not having
> much look reproducing in such a scenario.
>
> Thanks
>
>
> this PersistenceObjectAttributeAccessor PersistenceObjectAttributeAccessor
> (id=4134) PersistenceObjectAttributeAccessor 4134
> attributeField Field Field (id=4156) Field 4156
> attributeName String "value" (id=4096) String 4096
> isReadOnly boolean false boolean
> isWriteOnly boolean false boolean
>
>
>
> object Object User (id=3760) User 3760
> _persistence_fetchGroup FetchGroup null null
> _persistence_inLiquidityGroup_vh WeavedAttributeValueHolderInterface
> ValueHolder (id=3822) ValueHolder 3822
> _persistence_listener PropertyChangeListener null null
> _persistence_portfolio_vh WeavedAttributeValueHolderInterface ValueHolder
> (id=3851) ValueHolder 3851
> _persistence_primaryKey Object "WSS" (id=3852) String 3852
> _persistence_session Session null null
> _persistence_shouldRefreshFetchGroup boolean false boolean
> acHolLookupOnly JpaBoolean JpaBoolean (id=3853) JpaBoolean 3853
> _persistence_listener PropertyChangeListener null null
> value String "0" (id=4172) String 4172
> areaUnit String "0058" (id=3854) String 3854
> aspClientId int 0 int
> bankManager JpaBoolean JpaBoolean (id=3855) JpaBoolean 3855
> city String "ZAOPS" (id=3856) String 3856
> cityUnit String "0054" (id=3857) String 3857
> cmAllowCpwAdjustments JpaBoolean JpaBoolean (id=3858) JpaBoolean 3858
> cmAllowOverrideExtBals JpaBoolean JpaBoolean (id=3859) JpaBoolean 3859
> cmAllowOverrideWssBals JpaBoolean JpaBoolean (id=3860) JpaBoolean 3860
> cmCashAdjusmentsToBeReviewed JpaBoolean JpaBoolean (id=3861) JpaBoolean
> 3861
> cmTargetBalancingToBeReviewed JpaBoolean JpaBoolean (id=3862)
>
>
> Daemon Thread [p: thread-pool-1; w: 93] (Suspended (breakpoint at line 30
> in PersistenceObjectAttributeAccessor))
> PersistenceObjectAttributeAccessor.getAttributeValueFromObject(Object)
> line: 30
> DirectToFieldMapping(DatabaseMapping).getAttributeValueFromObject(Object)
> line: 523
> DirectToFieldMapping(AbstractDirectMapping).valueFromRow(AbstractRecord,
> JoinedAttributeManager, ObjectBuildingQuery, CacheKey, AbstractSession,
> boolean) line: 1273
>
> DirectToFieldMapping(DatabaseMapping).readFromRowIntoObject(AbstractRecord,
> JoinedAttributeManager, Object, CacheKey, ObjectBuildingQuery,
> AbstractSession, boolean) line: 1325
> ObjectBuilder.buildAttributesIntoObject(Object, CacheKey, AbstractRecord,
> ObjectBuildingQuery, JoinedAttributeManager, boolean, AbstractSession)
> line: 344
> AggregateObjectMapping.buildAggregateFromRow(AbstractRecord, Object,
> CacheKey, JoinedAttributeManager, ObjectBuildingQuery, boolean,
> AbstractSession, boolean) line: 362
> AggregateObjectMapping.readFromRowIntoObject(AbstractRecord,
> JoinedAttributeManager, Object, CacheKey, ObjectBuildingQuery,
> AbstractSession, boolean) line: 1415
> ObjectBuilder.buildAttributesIntoObject(Object, CacheKey, AbstractRecord,
> ObjectBuildingQuery, JoinedAttributeManager, boolean, AbstractSession)
> line: 344
> ObjectBuilder.buildProtectedObject(boolean, ObjectBuildingQuery,
> AbstractRecord, AbstractSession, Object, ClassDescriptor,
> JoinedAttributeManager) line: 821
> ObjectBuilder.buildObject(boolean, ObjectBuildingQuery, AbstractRecord,
> AbstractSession, Object, ClassDescriptor, JoinedAttributeManager) line:
> 657
> ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuildingQuery,
> AbstractRecord, UnitOfWorkImpl, Object, ClassDescriptor,
> JoinedAttributeManager) line: 612
> ObjectBuilder.buildObjectInUnitOfWork(ObjectBuildingQuery,
> JoinedAttributeManager, AbstractRecord, UnitOfWorkImpl, Object,
> ClassDescriptor) line: 565
> ObjectBuilder.buildObject(ObjectBuildingQuery, AbstractRecord,
> JoinedAttributeManager) line: 497
> ObjectBuilder.buildObject(ObjectLevelReadQuery, AbstractRecord) line: 456
> ReadObjectQuery(ObjectLevelReadQuery).buildObject(AbstractRecord) line:
> 723
> ReadObjectQuery.registerResultInUnitOfWork(Object, UnitOfWorkImpl,
> AbstractRecord, boolean) line: 766
> ReadObjectQuery.executeObjectLevelReadQuery() line: 451
> ReadObjectQuery(ObjectLevelReadQuery).executeDatabaseQuery() line: 1080
> ReadObjectQuery(DatabaseQuery).execute(AbstractSession, AbstractRecord)
> line: 808
> ReadObjectQuery(ObjectLevelReadQuery).execute(AbstractSession,
> AbstractRecord) line: 1040
> ReadObjectQuery.execute(AbstractSession, AbstractRecord) line: 412
> ReadObjectQuery(ObjectLevelReadQuery).executeInUnitOfWork(UnitOfWorkImpl,
> AbstractRecord) line: 1126
>
> RepeatableWriteUnitOfWork(UnitOfWorkImpl).internalExecuteQuery(DatabaseQuery,
> AbstractRecord) line: 2842
> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery,
> AbstractRecord, int) line: 1521
> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery,
> AbstractRecord) line: 1503
> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery)
> line: 1463
> EntityManagerImpl.executeQuery(ReadObjectQuery, LockModeType,
> AbstractSession) line: 781
> EntityManagerImpl.findInternal(ClassDescriptor, AbstractSession, Object,
> LockModeType, Map<String,Object>) line: 725
> EntityManagerImpl.find(Class<T>, Object, LockModeType,
> Map<String,Object>) line: 619
> EntityManagerImpl.find(Class<T>, Object) line: 498
> EntityManagerWrapper.find(Class<T>, Object) line: 291
> UserServiceEJB.getUserFullWithLazyProps(String,
> EnumSet<EnumUserLazyProps>) line: 104
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
> available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 597
> EJBSecurityManager.runMethod(Method, Object, Object[]) line: 1011
> SecurityUtil.invoke(Method, Invocation, Object, Object[], Container,
> SecurityManager) line: 175
> StatelessSessionContainer(BaseContainer).invokeTargetBeanMethod(Method,
> Invocation, Object, Object[], SecurityManager) line: 2929
> StatelessSessionContainer(BaseContainer).intercept(Invocation) line: 4020
> EJBObjectInvocationHandler.invoke(Class, Method, Object[]) line: 203
> EJBObjectInvocationHandlerDelegate.invoke(Object, Method, Object[]) line:
> 77
> $Proxy1079.getUserFullWithLazyProps(String, EnumSet) line: not available
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
> available [native method]
> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
> Method.invoke(Object, Object...) line: 597
> ReflectiveTie._invoke(String, InputStream, ResponseHandler) line: 154
> CorbaServerRequestDispatcherImpl.dispatchToServant(Object,
> CorbaMessageMediator, byte[], ObjectAdapter) line: 687
> CorbaServerRequestDispatcherImpl.dispatch(MessageMediator) line: 227
> CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediator) line:
> 1846
> CorbaMessageMediatorImpl.handleRequest(RequestMessage,
> CorbaMessageMediator) line: 1706
> CorbaMessageMediatorImpl.handleInput(RequestMessage_1_2) line: 1088
> RequestMessage_1_2.callback(MessageHandler) line: 223
> CorbaMessageMediatorImpl.handleRequest(MessageMediator) line: 806
> CorbaMessageMediatorImpl.dispatch() line: 563
> CorbaMessageMediatorImpl.doWork() line: 2567
> ThreadPoolImpl$WorkerThread.run() line: 555
>
>
>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>
-----
http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland
http://www.eclipse.org/eclipselink/
EclipseLink , http://www.oracle.com/technology/products/ias/toplink/
TopLink
Wiki: http://wiki.eclipse.org/EclipseLink EclipseLink ,
http://wiki.oracle.com/page/TopLink TopLink
Forums: http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink ,
http://www.nabble.com/EclipseLink-f26430.html EclipseLink
Book: http://en.wikibooks.org/wiki/Java_Persistence Java Persistence
Blog: http://java-persistence-performance.blogspot.com/ Java Persistence
Performance
--
View this message in context: http://old.nabble.com/EmbeddedObjects---fields-not-populated-correctly-tp31603205p31648032.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.