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.
*** Bug 129685 has been marked as a duplicate of this bug. ***
we're using hibernate now, so this isn't an issue.