Commit 1dc937f 1 parent b39e4eb commit 1dc937f Copy full SHA for 1dc937f
File tree 1 file changed +11
-3
lines changed
src/main/java/org/datanucleus/store/rdbms/scostore
1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -56,15 +56,23 @@ private BackingStoreHelper(){}
56
56
public static ObjectProvider getOwnerObjectProviderForBackingStore (ObjectProvider op )
57
57
{
58
58
ObjectProvider ownerOP = op ;
59
- if ( op .isEmbedded ())
59
+ while ( ownerOP .isEmbedded ())
60
60
{
61
61
// Embedded object, so get the owner object it is embedded in
62
- ObjectProvider [] ownerOPs = op .getExecutionContext ().getOwnersForEmbeddedObjectProvider (op );
62
+ ObjectProvider [] ownerOPs = op .getExecutionContext ().getOwnersForEmbeddedObjectProvider (ownerOP );
63
63
if (ownerOPs != null && ownerOPs .length == 1 )
64
64
{
65
65
ownerOP = ownerOPs [0 ];
66
66
}
67
- // TODO Cater for nested embedded? i.e recurse until not embedded
67
+ else if (ownerOPs == null || ownerOPs .length == 0 )
68
+ {
69
+ return null ;
70
+ }
71
+ else
72
+ {
73
+ // Multiple owners so take first one
74
+ ownerOP = ownerOPs [0 ];
75
+ }
68
76
}
69
77
return ownerOP ;
70
78
}
You can’t perform that action at this time.
0 commit comments