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 
           
     
  
 |