Personally I use the @PrePersist lifecycle method interceptor when I want to
do things like record dates. Not quite as concise as the Hibernate stuff,
but it's more flexible since you control the logic for what gets
set/updated.

Derek

On Fri, Oct 24, 2008 at 5:16 AM, Tim Perrett <[EMAIL PROTECTED]> wrote:

>
> I think you should be able to do this by using an interceptor or event
> listener - does this article help:
>
> http://java.dzone.com/articles/using-a-hibernate-interceptor-
>
> If you manage to get the created_on and updated_at stuff working I'd
> be interested in how you did it as I think its something we should be
> using.
>
> Cheers
>
> Tim
>
> On Oct 22, 9:38 am, "Viktor Klang" <[EMAIL PROTECTED]> wrote:
> > After migrating from Hibernate 3.0 to 3.3.1 the past 2 weeks I have
> gained
> > some hatred towards Hibernate.
> >
> > I had to write atleast 3 workarounds to Hibernate bugs. No cool at all.
> :/
> >
> > I feel your pain,
> >
> > cheers,
> > Viktor
> >
> > On Wed, Oct 22, 2008 at 1:41 AM, Charles F. Munat <[EMAIL PROTECTED]>
> wrote:
> >
> >
> >
> >
> >
> > > Nope. Turns out this is a really poorly explained "feature" of
> Hibernate
> > >  (and, in the opinion of many, a really dumb one). My code was correct,
> > > and the problem isn't anything Scala-related. In order for this code to
> > > work, the *database* has to generate the values, e.g. via a trigger,
> > > which I, the designer, have to add.
> >
> > > Sheesh. The whole point of Hibernate, I thought, was that I don't have
> > > to deal with the database end. Why this can't just add the triggers for
> > > me is beyond me. It's easier just to set them in the application, I
> think.
> >
> > > Thanks for the help. Live and learn, I guess.
> >
> > > Chas.
> >
> > > Derek Chen-Becker wrote:
> > > > Yeah, I think you want insertable to be true on the first one (just
> omit
> > > > the insertable val) and on the second one you want to omit both
> > > > insertable and updatable to make them both true.
> >
> > > > Derek
> >
> > > > On Tue, Oct 21, 2008 at 6:00 AM, Viktor Klang <
> [EMAIL PROTECTED]
> > > > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> > > >     But both are updatable false and insertable false?
> >
> > > >     I might be daft, but that doesn't look good to me...
> >
> > > >     Cheers
> > > >     Viktor
> >
> > > >     On Tue, Oct 21, 2008 at 5:06 AM, Charles F. Munat <
> [EMAIL PROTECTED]
> > > >     <mailto:[EMAIL PROTECTED]>> wrote:
> >
> > > >         In my Lift app based on the JPA demo I tried this, which
> should
> > > work
> > > >         beautifully according to everything I've been able to get my
> > > >         hands on:
> >
> > > >         @Temporal(TemporalType.TIMESTAMP)
> > > >         @Column{val name="CREATED_AT", val updatable = false,
> > > >           val insertable = false}
> >
> > >
> @org.hibernate.annotations.Generated(org.hibernate.annotations.GenerationTi
> me.INSERT)
> > > >         var createdAt : Date = new Date()
> >
> > > >         @Temporal(TemporalType.TIMESTAMP)
> > > >         @Column{val name="UPDATED_AT", val updatable = false,
> > > >           val insertable = false}
> >
> > >
> @org.hibernate.annotations.Generated(org.hibernate.annotations.GenerationTi
> me.ALWAYS)
> > > >           var updatedAt : Date = new Date()
> >
> > > >         This should, if I'm right, set an immutable created_at
> timestamp
> > > >         and a
> > > >         mutable updated_at timestamp upon insert, and update the
> > > updated_at
> > > >         timestamp upon each update.
> >
> > > >         What it actually does is leave both fields null. What a drag.
> >
> > > >         Any ideas? Is this a Scala thing? Am I missing something
> really
> > > >         obvious,
> > > >         as usual?
> >
> > > >         Thanks,
> >
> > > >         Chas.
> >
> > > >     --
> > > >     Viktor Klang
> > > >     Senior Systems Analyst
> >
> > --
> > Viktor Klang
> > Senior Systems Analyst
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" 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/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to