> My goal is to somehow generate super.readExternal() and
super.writeExternal() to subsequently process the parent class. Does this
make sense to you?
Yes, this sounds reasonable. I'm quite surprised that isn't how we work
today.

On Mon, Jan 24, 2011 at 7:38 AM, Mark Struberg <strub...@yahoo.de> wrote:

> Yes, this is a workaround I figured already.
>
> But the downside is that we need to tweak a lot of classes and it is really
> a bug imo.
> It's not a showstopper, but it's a bug ;)
> See OPENJPA-1912.
>
> I'm currently writing a unit test in the openjpa-persistence-jdbc test
> package org.apache.openjpa.enhance.
>
> My goal is to somehow generate super.readExternal() and
> super.writeExternal() to subsequently process the parent class.
> Does this make sense to you?
>
> LieGrue,
> strub
>
>
>
> --- On Mon, 1/24/11, Rick Curtis <curti...@gmail.com> wrote:
>
> > From: Rick Curtis <curti...@gmail.com>
> > Subject: Re: way to restore the DetachedStateManager on deserialisation?
> > To: "dev@openjpa.apache.org" <dev@openjpa.apache.org>
> > Date: Monday, January 24, 2011, 1:15 PM
> > What happens if you change your
> > private fields to protected?
> >
> > Thanks,
> > Rick
> >
> > On Jan 24, 2011, at 5:51 AM, Mark Struberg <strub...@yahoo.de>
> > wrote:
> >
> > > Hi!
> > >
> > > I've tried it again and it works (maybe I had a typo
> > in my config, who knows).
> > >
> > > So I now get the pcStateManager back, but now another
> > issue appears: the code uses Externalizable and the
> > generated readExternal and writeExternal try to also write
> > the parent fields. This is bad since it doesn't work for
> > private fields...
> > > I will file a jiraffe.
> > >
> > > LieGrue,
> > > strub
> > >
> > > --- On Tue, 1/18/11, Mark Struberg <strub...@yahoo.de>
> > wrote:
> > >
> > >> From: Mark Struberg <strub...@yahoo.de>
> > >> Subject: Re: way to restore the
> > DetachedStateManager on deserialisation?
> > >> To: dev@openjpa.apache.org
> > >> Date: Tuesday, January 18, 2011, 4:31 PM
> > >> the pcStateManager is null after
> > >> deserialisation as far as I've seen.
> > >>
> > >> I'll give it another debug run tomorrow to be 100%
> > sure
> > >> about that.
> > >>
> > >>
> > >> LieGrue,
> > >> strub
> > >>
> > >> --- On Tue, 1/18/11, Michael Dick <michael.d.d...@gmail.com>
> > >> wrote:
> > >>
> > >>> From: Michael Dick <michael.d.d...@gmail.com>
> > >>> Subject: Re: way to restore the
> > DetachedStateManager
> > >> on deserialisation?
> > >>> To: dev@openjpa.apache.org
> > >>> Date: Tuesday, January 18, 2011, 4:26 PM
> > >>> Hi,
> > >>>
> > >>> DetachedStateField=true should do the trick.
> > When you
> > >> use
> > >>> that configuration
> > >>> option does the statemanager get serialized
> > and then
> > >> forget
> > >>> about _loaded?
> > >>> Or is it never serialized at all?
> > >>>
> > >>> -mike
> > >>>
> > >>> On Tue, Jan 18, 2011 at 4:33 AM, Mark Struberg
> > <strub...@yahoo.de>
> > >>> wrote:
> > >>>
> > >>>> Hi!
> > >>>>
> > >>>> Currently detached entities behave
> > completely
> > >>> different if they are 'just'
> > >>>> detached or if they got
> > serialised/deserialised.
> > >> This
> > >>> is almost solely due
> > >>>> to _pcStateManager == null after the
> > >> serialisation.
> > >>>>
> > >>>> After serialisation we basically miss
> > _dirty and
> > >>> _loaded information in our
> > >>>> entities, which has a few very bad side
> > effects.
> > >>>>
> > >>>> The one which currently annoy me most is
> > that
> > >> setting
> > >>> a field to null
> > >>>> doesn't get stored to the database. This
> > is
> > >> caused
> > >>> because we don't have the
> > >>>> _loaded information anymore and thus
> > cannot know
> > >> if
> > >>> the field is null
> > >>>> because it never got loaded or if it got
> > set to
> > >> null
> > >>> manually.
> > >>>>
> > >>>> Now my question: is it possible to restore
> > the
> > >>> DetachedStateManager on
> > >>>> deserialisation somehow? There is already
> > an
> > >> option
> > >>> for if:
> > >>>>
> > >>>> <property name="openjpa.DetachState"
> > >>>>
> > value="loaded(DetachedStateField=true)"/>
> > >>>>
> > >>>> But either I'm making something wrong, or
> > it
> > >> just
> > >>> doesn't work. Any hints
> > >>>> on that?
> > >>>>
> > >>>> Btw: I'm mainly working with compiletime
> > >> enhanced
> > >>> classes, but I guess the
> > >>>> basic problem remains the same in any
> > >> enhancement
> > >>> case.
> > >>>>
> > >>>> txs and LieGrue,
> > >>>> strub
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>
> > >>
> > >>
> > >>
> > >
> > >
> > >
> >
>
>
>
>

Reply via email to