> I've checked the history of this very code and it seems to originate from Kodo already... So I am a bit reluctant to touch it ;) I noticed the same thing...
On Fri, Feb 20, 2015 at 11:35 AM, Mark Struberg <strub...@yahoo.de> wrote: > My current problem is that we try to use the InverseManager with > action==Exception (so only check if the bidirectional relations are > properly set in our code). > > The use case is the following > > Partner has a 1:n Customer > > p1.addCustomer(customer1). > > in a later request > > p1.removeCustomer(customer1); > > and add it to ANOTHER partner > p2.addCustomer(customer1). > > The partnerId in customer1 gets properly updated. > > What happens is that the InverseManager invokes > SingleFieldManager#fetchObjectField(fmd.getIndex()); to get the oldValue of > the field (and does checks on it). > And this fetchObjectField call actualle ERASES the internal val in the > SingleFieldManager. > > This makes OpenJPA later blow up as this field is not nullable... > I've checked the history of this very code and it seems to originate from > Kodo already... > So I am a bit reluctant to touch it ;) > > LieGrue, > strub > > > > Am 20.02.2015 um 18:29 schrieb Rick Curtis <curti...@gmail.com>: > > > > I don't have an answer as to why we null the reference out. Can I get a > > stacktrace for a bit of context? > > > > On Fri, Feb 20, 2015 at 10:02 AM, Mark Struberg <strub...@yahoo.de> > wrote: > > > >> Does anyone have a clue or remember why the > >> TransferFieldManager#fetchObjectField sets the val to null after > returning > >> it? > >> > >> > >> The reason why I ask is that this currently creates an issue in the > >> InverseManager for me. > >> > >> In InverseManager#storeField line 332 this 'destroys' the field sm as > the > >> val of it is null afterwards. And this subsequently creates an > >> InvalidStateException in SingleFieldManager#preFlush line 567. > >> > >> > >> Does anyone remember something about that? > >> > >> LieGrue, > >> strub > > > > > > > > > > -- > > *Rick Curtis* > > -- *Rick Curtis*