Yes, I'm glad you raised this Ara, there are a couple of different
things I've been speculating about here:

(1) An isDirty() interceptor callback, to allow an application to
    implement its own dirty checking algorithm
(2) A new property attribute; update="never|auto", to declare
    "readonly" properties that are updated outside the application
    (by a trigger, for example).
(3) A new property attribute; dirty-check="always|never" to allow
    a property that isn't itself dirty-checked, but *is* updated
    if other properties are dirty. (I am kinda ripping off a feature
    of Castor here ;)
(4) Reintroduce dynamically generated SQL UPDATEs (which only
    update dirty columns), as an option. I implemented this feature
    at one stage, but the performance gains were not what you would
    expect in my tests. However, it is worth having as an option.

Now, I'm not sure which of these features are good or which we
should actually add (all? some? none?) For example, (2) and (4)
seem to address similar problems, in slightly different ways.

None of these features is at all difficult to implement in the
current codebase (all are very straightforward, actually) and I
even already implemented one of them and then threw it away....

Now, people shouldn't get too excited, the performance gains to be
had by these techniques are a lot less than you might expect,
a-priori. But I can see that in certain special cases, each would
be handy to have....

comments?

Gavin



                                                                                       
                                               
                    "Ara Abrahamian"                                                   
                                               
                    <[EMAIL PROTECTED]>                     To:     <[EMAIL 
PROTECTED]>                           
                    Sent by:                                cc:                        
                                               
                    [EMAIL PROTECTED]       Subject:     RE: [Hibernate] 
saveOrUpdate()                               
                    eforge.net                                                         
                                               
                                                                                       
                                               
                                                                                       
                                               
                    24/01/03 06:59 AM                                                  
                                               
                                                                                       
                                               
                                                                                       
                                               




What about a isModified()? For tracking modification. Is it possible to
add a modification-tracking="true" to a <class/> and let Hibernate
decide whether an object is modified (a setter method actually changed a
property, etc) and then only update that modified object and that
specific field only?

Ara.

> -----Original Message-----
> From: [EMAIL PROTECTED]
[mailto:hibernate-devel-
> [EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED]
> Sent: Thursday, January 23, 2003 12:00 PM
> To: [EMAIL PROTECTED]
> Subject: [Hibernate] saveOrUpdate()
>
> Since I seem to be spending *so* much time with problems relating
> to saveOrUpdate() functionality, I decided to provide some new
> functionality.
>
> The Hibernate2 interceptor interface now has a
>
> Boolean isUnsaved(Object)
>
> method, so that the application can use something completely
> different to unsaved-value, if it wants.
>
>
> comments?
>
>
> **********************************************************************
> Any personal or sensitive information contained in this email and
> attachments must be handled in accordance with the Victorian
Information
> Privacy Act 2000, the Health Records Act 2001 or the Privacy Act 1988
> (Commonwealth), as applicable.
>
> This email, including all attachments, is confidential.  If you are
not
> the
> intended recipient, you must not disclose, distribute, copy or use the
> information contained in this email or attachments.  Any
confidentiality
> or
> privilege is not waived or lost because this email has been sent to
you in
> error.  If you have received it in error, please let us know by reply
> email, delete it from your system and destroy any copies.
> **********************************************************************
>
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Scholarships for Techies!
> Can't afford IT training? All 2003 ictp students receive scholarships.
> Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
> www.ictp.com/training/sourceforge.asp
> _______________________________________________
> hibernate-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/hibernate-devel



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel




**********************************************************************
Any personal or sensitive information contained in this email and
attachments must be handled in accordance with the Victorian Information
Privacy Act 2000, the Health Records Act 2001 or the Privacy Act 1988
(Commonwealth), as applicable.

This email, including all attachments, is confidential.  If you are not the
intended recipient, you must not disclose, distribute, copy or use the
information contained in this email or attachments.  Any confidentiality or
privilege is not waived or lost because this email has been sent to you in
error.  If you have received it in error, please let us know by reply
email, delete it from your system and destroy any copies.
**********************************************************************





-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to