Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  22 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Scott Findlater  
View profile  
 More options Apr 5 2011, 4:27 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Tue, 5 Apr 2011 01:27:59 -0700 (PDT)
Local: Tues, Apr 5 2011 4:27 am
Subject: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
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 must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Suman  
View profile  
 More options Apr 6 2011, 2:58 am
From: Suman <sumanre...@gmail.com>
Date: Tue, 5 Apr 2011 23:58:06 -0700 (PDT)
Local: Wed, Apr 6 2011 2:58 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
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 <scottfindla...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options Apr 6 2011, 3:42 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Wed, 6 Apr 2011 00:42:08 -0700 (PDT)
Local: Wed, Apr 6 2011 3:42 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
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 <sumanre...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Suman  
View profile  
 More options Apr 7 2011, 10:30 pm
From: Suman <sumanre...@gmail.com>
Date: Thu, 7 Apr 2011 19:30:27 -0700 (PDT)
Local: Thurs, Apr 7 2011 10:30 pm
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
In my case, There is always some update on subclass.

I haven't tested it the exact scenario that you've mentioned but yeah
seems like it's still an issue.

On Apr 6, 5:42 pm, Scott Findlater <scottfindla...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options Apr 8 2011, 1:59 am
From: Fabio Maulo <fabioma...@gmail.com>
Date: Fri, 8 Apr 2011 02:59:51 -0300
Local: Fri, Apr 8 2011 1:59 am
Subject: Re: [nhusers] Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

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 <scottfindla...@gmail.com>wrote:

--
Fabio Maulo

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options Apr 8 2011, 8:59 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Fri, 8 Apr 2011 05:59:10 -0700 (PDT)
Local: Fri, Apr 8 2011 8:59 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
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 <fabioma...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options Apr 8 2011, 10:52 am
From: Fabio Maulo <fabioma...@gmail.com>
Date: Fri, 8 Apr 2011 11:52:29 -0300
Local: Fri, Apr 8 2011 10:52 am
Subject: Re: [nhusers] Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

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 <scottfindla...@gmail.com>wrote:

--
Fabio Maulo

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options Apr 8 2011, 11:58 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Fri, 8 Apr 2011 08:58:41 -0700 (PDT)
Local: Fri, Apr 8 2011 11:58 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
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 <fabioma...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options Apr 8 2011, 2:33 pm
From: Fabio Maulo <fabioma...@gmail.com>
Date: Fri, 8 Apr 2011 15:33:28 -0300
Local: Fri, Apr 8 2011 2:33 pm
Subject: Re: [nhusers] Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

"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 the www.nhforge.org blog

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
<scottfindla...@gmail.com>wrote:

--
Fabio Maulo

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options Apr 8 2011, 4:52 pm
From: Scott Findlater <scottfindla...@gmail.com>
Date: Fri, 8 Apr 2011 13:52:41 -0700 (PDT)
Local: Fri, Apr 8 2011 4:52 pm
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
Touche Fabio :)   I will happily contribute to the documentation but
how do I explain a contradiction in the official NHibernate wiki
article which uses the OnPre events TO CHANGE STATE -
http://nhforge.org/wikis/howtonh/creating-an-audit-log-using-nhiberna...

On Apr 8, 7:33 pm, Fabio Maulo <fabioma...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options Apr 8 2011, 6:10 pm
From: Fabio Maulo <fabioma...@gmail.com>
Date: Fri, 8 Apr 2011 19:10:03 -0300
Local: Fri, Apr 8 2011 6:10 pm
Subject: Re: [nhusers] Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

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 <scottfindla...@gmail.com>wrote:

--
Fabio Maulo

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options Apr 9 2011, 3:19 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Sat, 9 Apr 2011 00:19:54 -0700 (PDT)
Local: Sat, Apr 9 2011 3:19 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
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 <fabioma...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options Apr 9 2011, 7:56 am
From: Fabio Maulo <fabioma...@gmail.com>
Date: Sat, 9 Apr 2011 08:56:25 -0300
Local: Sat, Apr 9 2011 7:56 am
Subject: Re: [nhusers] Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

Try what I said and then prepare your article using WLW; then you can
copy&paste the HTML in nhforge wiki.

On Sat, Apr 9, 2011 at 4:19 AM, Scott Findlater <scottfindla...@gmail.com>wrote:

...

read more »


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Graham Bunce  
View profile  
 More options Apr 9 2011, 5:03 pm
From: Graham Bunce <grahambu...@hotmail.com>
Date: Sat, 9 Apr 2011 14:03:01 -0700 (PDT)
Local: Sat, Apr 9 2011 5:03 pm
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
Scott,

To jump in here. I wrote the article you referred to in your reply to
Fabio, and tbh, I wouldn't consider it official NHibernate
documentation. It was written a long time ago as an example of the
things you could do with the events,when documentation on the
interfaces as opposed to the old interceptors was very thin on the
ground, and my article was written to formalise Ayende's article so
that NH Forge had something that could be easily found.

If it is not best practice then I can only apologise for the confusion
it has caused, but this is the problem with NH; there is little
"official" documentation , except maybe the NH 3.0 cookbook. Most
people, including myself, take blogs from people like Ayende as the
defacto documentation as we know they are core contributors to NH. If
people like Ayende are writing blogs (which are basically around
forever) that are either inaccurate or have become so with subsequent
releases, then there isn't a lot us "normal" people can do who do not
understand the inner workings of NH as well as people like Fabio.

When I get time I will look into amending the offending wiki entry.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Graham Bunce  
View profile  
 More options Apr 9 2011, 5:07 pm
From: Graham Bunce <grahambu...@hotmail.com>
Date: Sat, 9 Apr 2011 14:07:34 -0700 (PDT)
Local: Sat, Apr 9 2011 5:07 pm
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
And just to clarify, this isn't a complaint at anyone. NH is a free
product that is as good as anything else on the market, if not better,
and it's worked on unpaid by the developers, so those of us who use it
should be grateful for this and that NH is still an active product.

On the flip side, the developers should also appreciate that
information on NH is scattered all over the place, is sometimes
contradictory, and can be very confusing to those trying to understand
how it all works.

peace :)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options Apr 10 2011, 8:11 am
From: Fabio Maulo <fabioma...@gmail.com>
Date: Sun, 10 Apr 2011 09:11:23 -0300
Local: Sun, Apr 10 2011 8:11 am
Subject: Re: [nhusers] Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

Graham.
In NH you can archive the same target in various ways.
Your wiki (What I Know Is) is good enough to solve a problem in a way.
but....
but a WIKI is a WIKI
for example this WIKI shows various tech to do the same
http://nhforge.org/wikis/howtonh/localization-techniques.aspx
<http://nhforge.org/wikis/howtonh/localization-techniques.aspx>When a user
find something wrong in a WIKI he can modify/correct it even if it was wrote
by somebody else.
This is the spirit of the WIKI... it does not to be perfect.. it just need
to be perfectible.

Thanks Graham for your support and your spirit sharing your knowledge.

On Sat, Apr 9, 2011 at 6:03 PM, Graham Bunce <grahambu...@hotmail.com>wrote:

--
Fabio Maulo

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options Apr 27 2011, 2:12 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Tue, 26 Apr 2011 23:12:46 -0700 (PDT)
Local: Wed, Apr 27 2011 2:12 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
Hi,

Fabio - thanks for your patience through this.
Graham - thanks for your comments.

I have written a NHForge WIKI article in the hope of documenting what
I know -
http://nhforge.org/wikis/howtonh/nhibernate-audit-trails-and-onpreins...

Your comments would be greatfully received.

On Apr 10, 1:11 pm, Fabio Maulo <fabioma...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Findlater  
View profile  
 More options May 11 2011, 8:34 am
From: Scott Findlater <scottfindla...@gmail.com>
Date: Wed, 11 May 2011 05:34:37 -0700 (PDT)
Local: Wed, May 11 2011 8:34 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics
Fabio - there seem to be alot of cries for help but with no conclusive
working examples;

* https://groups.google.com/forum/#!topic/nhusers/0kugoXFPeGw/discussion
- audit listener using IFlushEntityEventListener (continuation of
NH-2596)

* http://groups.google.com/group/nhusers/browse_thread/thread/10d7c2542...
- Bizarre error when using NHibernate, IPreInsertEventListener,
Oracle, batching and sequences

As you know I did author an NHForge WIKI
http://nhforge.org/wikis/howtonh/nhibernate-audit-trails-and-onpreins...
but my solution does not solve the above "audit listener using
IFlushEntityEventListener (continuation of NH-2596)" problem.

Please please would you consider authoring a working, best practice,
example.
Kind regards, Scott.

On Apr 27, 7:12 am, Scott Findlater <scottfindla...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options May 11 2011, 9:57 am
From: Fabio Maulo <fabioma...@gmail.com>
Date: Wed, 11 May 2011 06:57:59 -0700 (PDT)
Local: Wed, May 11 2011 9:57 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

Send me your little domain with a little explanation about how should work
those 2 DateTime, then I'll write a public post using your domain.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Filip Kinsky  
View profile  
 More options May 11 2011, 10:01 am
From: Filip Kinsky <fi...@filovo.net>
Date: Wed, 11 May 2011 07:01:21 -0700 (PDT)
Local: Wed, May 11 2011 10:01 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

you can use/fork my test case for NH-2596 here:
https://github.com/Buthrakaur/NHListenerTests


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fabio Maulo  
View profile  
 More options May 11 2011, 11:39 am
From: Fabio Maulo <fabioma...@gmail.com>
Date: Wed, 11 May 2011 08:39:51 -0700 (PDT)
Local: Wed, May 11 2011 11:39 am
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

Sure, I can.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Filip Kinsky  
View profile  
 More options May 11 2011, 1:22 pm
From: Filip Kinsky <fi...@filovo.net>
Date: Wed, 11 May 2011 10:22:27 -0700 (PDT)
Local: Wed, May 11 2011 1:22 pm
Subject: Re: Clarification on NH-2596 of PreUpdate vs OnSaveOrUpdate semantics

I managed to solve this problem using this IFlushEntityEventListener
implementation:
https://github.com/Buthrakaur/NHListenerTests/blob/master/NHListenerT...


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »