Hi Hugi,

I think you can use similar mechanics to examine relationship data, too.  I
just didn't do that there.


On Thu, Jul 16, 2020 at 3:46 AM Hugi Thordarson <h...@karlmenn.is> wrote:

> Thanks Michael! This works excellently for attributes on the entity, but
> I've yet to find a good solution when dealing with FKs (when to-one
> relationships are modified).
>
> I've opted to just don't update modificationDate when relationships are
> touched for now so… At least halfway there :).
>
> Thanks,
> - hugi
>
>
>
> > On 13 Jul 2020, at 13:23, Michael Gentry <blackn...@gmail.com> wrote:
> >
> > Hi Hugi,
> >
> > You might have to compare everything to be certain.  Here is something
> I've
> > used in the past (for Cayenne 3.x) which might be helpful:
> >
> >
> https://gist.github.com/mrg/4dce22b67175c27f4047#file-cayenneutils-java-L105
> >
> >
> > On Mon, Jul 13, 2020 at 9:11 AM Hugi Thordarson <h...@karlmenn.is>
> wrote:
> >
> >> Hi all.
> >> Almost all of my objects have attributes called creationDate() and
> >> modificationDate(), these are populated in a listener attached to the
> >> DataDomain:
> >>
> >> https://gist.github.com/hugith/a40faae5529a1826d601515a9e8c5206
> >>
> >> Relatively simple and has served me well for the past few years. One
> thing
> >> has always irritated me though. This method of doing things means that
> if
> >> the only change to an object is to a to-many relationship,
> >> "modificationDate" will get updated (for example: User has a
> relationship
> >> user<-->>invoices, the user creates an invoice which is then added to
> his
> >> "invoices" relationship. modificationDate is then updated even if there
> was
> >> no logical change to the user itself).
> >>
> >> So, I'm wondering… Is there any good way in the listener to check what
> >> attributes have changed, so I can skip the update to modificationDate if
> >> the only changed properties are to-many relationships?
> >> I know I could implement a CommitLogListener and use the ChangeMap from
> >> there, but as you see I'm doing these updates before committing, making
> >> these changes a part of the same commit (which I'd much prefer to keep
> that
> >> way).
> >>
> >> Cheers,
> >> - hugi
>
>

Reply via email to