Fabio, I would like you to answer it is wrong or why it is ok, because
on one hand you tell me do not change state in these events and on the
other hand there are NH wiki posts changing state in these events.  I
am very confused as to what is correct?

On Apr 8, 11:10 pm, Fabio Maulo <[email protected]> wrote:
> I asked you to write a wiki, right ?
> well... imagine that you do it and after some moths somebody else will ask
> me "why that wiki say those things ?"
> what should I answer ?
>
> On Fri, Apr 8, 2011 at 5:34 PM, Scott Findlater 
> <[email protected]>wrote:
>
>
>
> > Touche Fabio :)
> > I will make a deal with you ... I will write an in depth documentation
> > patch about the NH event model if you can please explain why there is
> > wiki article explaining how to create an audit log which clearly uses
> > the OnPre events to CHANGE ENTITY state -
>
> >http://nhforge.org/wikis/howtonh/creating-an-audit-log-using-nhiberna...
>
> > On Apr 8, 7:33 pm, Fabio Maulo <[email protected]> wrote:
> > > "is not really documented anywhere"
> > > That is only because we are still waiting your patch for the NHibernate
> > > public documentation.
> > > If you don't want to send a patch you can use the nhforge wiki, the knol
> > (http://knol.google.com), share your experience in your blog, share your
> > > experience in thewww.nhforge.orgblog
>
> > > We wrote tons of code, somebody else can write a little bit of text.
>
> > > On Fri, Apr 8, 2011 at 12:58 PM, Scott Findlater
> > > <[email protected]>wrote:
>
> > > > Hi Fabio, OK, obviously you are right :)  I will stop trying to change
> > > > entity state in these events.  It is just NOT TO CHANGE state in these
> > > > events is not really documented anywhere and from blog posts give
> > > > examples of using the OnPreInsert and OnPreUpdate event listeners as
> > > > the perfect place for mechanisms such as Audit trails which do change
> > > > entity state.  To conclude, I will obviously follow your guidance.  I
> > > > really appreciate your patience.  Kind regards, Scott.
>
> > > > On Apr 8, 3:52 pm, Fabio Maulo <[email protected]> wrote:
> > > > > Scott,
> > > > > PreUpdate, PreInsert, PreDelete are to check entity state (as most
> > even
> > > > to
> > > > > log) but NOT TO CHANGE entity state.
> > > > > Again, try to follow what I said.
>
> > > > > To Log the old state or the difference you can use even the PostXYZ.
>
> > > > > On Fri, Apr 8, 2011 at 9:54 AM, Scott Findlater <
> > > > [email protected]>wrote:
>
> > > > > > Fabio, thank you so much for your reply.
>
> > > > > > Sorry I do not think I am explaining myself very well, may I please
> > > > > > ask you to download this sln (http://dl.dropbox.com/u/20651208/
> > > > > > WTF.zip) and I can demonstrate with just 3 tests in the
> > > > > > BecauseOfEventHandling class;
>
> > > > > > 1. Test a_onPre_event_listeners_fired_and_entities_modified() shows
> > > > > > the OnPreUpdate event is processing as expected.
> > > > > > 2. Test
>
> > b_onPreUpdate_event_listener_fired_but_no_persistance_on_auditable_entity()
> > > > > > shows where I have my issue.
> > > > > > 3. Test
>
> > c_onPreUpdate_event_listener_fired_with_persistance_on_auditable_entity()
> > > > > > shows a work around which highlights an issue??
>
> > > > > > I hope this makes everything clearer and that I am not trying to do
> > > > > > any NH internal stuff, only using the OnPreUpdate event listeners.
> > > > > > Thank you so much for your patience.
>
> > > > > > On Apr 8, 6:59 am, Fabio Maulo <[email protected]> wrote:
> > > > > > > Scott,
> > > > > > > to change properties try to follow what I said and you will see
> > that
> > > > it
> > > > > > is
> > > > > > > even more easy (you have to deal only with your object and not
> > with
> > > > NH
> > > > > > > internals).
>
> > > > > > > On Wed, Apr 6, 2011 at 4:42 AM, Scott Findlater <
> > > > > > [email protected]>wrote:
>
> > > > > > > > Hi Suman,
>
> > > > > > > > I would be interested to know if you are updating any other
> > > > properties
> > > > > > > > in your subclass, that after removing dynamic-update=true, all
> > > > works.
> > > > > > > > This is because if I update a property on the subclass then any
> > > > > > > > processing in the PreUpdate event is persisted, but if the
> > subclass
> > > > is
> > > > > > > > only modified in the PreUpdate event then nothing is persisted.
>
> > > > > > > > On Apr 6, 7:58 am, Suman <[email protected]> wrote:
> > > > > > > > > Hi Scott,
>
> > > > > > > > > I have similar issue and I was about to ask the same question
> > > > here.
>
> > > > > > > > > Further to your situation, I am not sure whether it's a bug
> > or
> > > > > > > > > feature, In my mapping, when I have dynamic-update = "true"
> > in
> > > > > > > > > subclass the audit columns in base class, the generated sql
> > > > doesn't
> > > > > > > > > include audited column (ModifiedBy & ModifiedDate which are
> > > > > > properties
> > > > > > > > > of base class) but if I remove dynamic-update = "true" it
> > works.
> > > > So
> > > > > > > > > essentially it points me to some reflection + dynamic-update
> > > > issue.
> > > > > > > > > Just wondering if that's what's happening in your side as
> > well.
>
> > > > > > > > > Suman
>
> > > > > > > > > On Apr 5, 6:27 pm, Scott Findlater <[email protected]
>
> > > > wrote:
>
> > > > > > > > > > Please may I ask for clarification on the semantics/ usage
> > of
> > > > > > > > > > PreUpdate vs OnSaveOrUpdate listeners based on NH-2596
> > (http://
> > > > > > > > > > 216.121.112.228/browse/NH-2596).
>
> > > > > > > > > > After reading Ayende's blog posts on NHibernate
> > > > > > > > > > IPreUpdateEventListener & IPreInsertEventListener (
> > > > > >http://ayende.com/
>
> > Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-
> > > > > > > > > > ipreinserteventlistener.aspx) with an audit trail example I
> > > > adopted
> > > > > > > > > > this method myself.  During my learning I raised NH-2617
> > > > (http://
> > > > > > > > > > 216.121.112.228/browse/NH-2617) issue, where I found
> > PreUpdate
> > > > > > event
> > > > > > > > > > data changes on an entity which is only modified in the
> > > > PreUpdate
> > > > > > > > > > event is not persisted.
>
> > > > > > > > > > My issue was closed as a duplicate of NH-2596.  However,
> > > > NH-2596 is
> > > > > > > > > > also closed as “not an issue” with the solution to use the
> > > > > > > > > > OnSaveOrUpdate event listeners on the basis that pre-insert
> > and
> > > > > > pre-
> > > > > > > > > > update listeners are not intended to be used to change the
> > > > values
> > > > > > of
> > > > > > > > > > the entity. Instead they should be used to check-values
> > (for
> > > > that
> > > > > > > > > > reason they return "veto").
>
> > > > > > > > > > I am alittle confused as to the best practice usages/
> > semantics
> > > > of
> > > > > > > > > > PreUpdate vs OnSaveOrUpdate now.  Would someone be able to
> > > > clarify
> > > > > > why
> > > > > > > > > > the use of PreInsert and PreUpdate is used by many for
> > Audit
> > > > > > trailing
> > > > > > > > > > but incorrectly?  Or why is the OnSaveOrUpdate listener
> > > > suggested
> > > > > > in
> > > > > > > > > > the closure of NH-2596 and this non peristance is not an
> > issue.
>
> > > > > > > > > > Many thanks, Scott.
>
> > > > > > > > --
> > > > > > > > You received this message because you are subscribed to the
> > Google
> > > > > > Groups
> > > > > > > > "nhusers" group.
> > > > > > > > To post to this group, send email to [email protected].
> > > > > > > > To unsubscribe from this group, send email to
> > > > > > > > [email protected].
> > > > > > > > For more options, visit this group at
> > > > > > > >http://groups.google.com/group/nhusers?hl=en.
>
> > > > > > > --
> > > > > > > Fabio Maulo
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > > Groups
> > > > > > "nhusers" group.
> > > > > > To post to this group, send email to [email protected].
> > > > > > To unsubscribe from this group, send email to
> > > > > > [email protected].
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/nhusers?hl=en.
>
> > > > > --
> > > > > Fabio Maulo
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "nhusers" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected].
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/nhusers?hl=en.
>
> > > --
> > > Fabio Maulo
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/nhusers?hl=en.
>
> --
> Fabio Maulo

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to