Bug 129369

Summary: Calls to set* methods from within proxy classes don't flag modified
Product: [Retired] Red Hat Network Reporter: Mike McCune <mmccune>
Component: RHN/R&DAssignee: Ryan Bloom <rbb>
Status: CLOSED CURRENTRELEASE QA Contact: Fanny Augustin <fmoquete>
Severity: medium Docs Contact:
Priority: medium    
Version: RHN DevelCC: rbb
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-10-22 18:41:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 125080    

Description Mike McCune 2004-08-07 00:59:05 UTC
If you have a proxy persistence class, for example, Session, and from
within SessionImpl you call a public set method on one of the columns:

    public void setExpiresMillis(long expIn) {
        setExpires(expIn / 1000);
    }

the call to setExpires doesn't actually flag the Proxy that this
method has been called, it only gets flagged if someone from outside
the class calls it.  This means that if you call:

s.setExpiresMillis(someval);
SessionFactory.commit(s);

it will not save the expiration time.

The only way to store a new expiration time on a Session object is to
call setExpires().

This means we can't have convienience methods on classes if this isn't
fixed.

Comment 1 Ryan Bloom 2004-08-17 14:16:32 UTC
*** Bug 129685 has been marked as a duplicate of this bug. ***

Comment 2 Ryan Bloom 2004-10-22 18:41:01 UTC
we're using hibernate now, so this isn't an issue.