Nope. Forget about my previous post. It has been too much hours working without a rest. It seems that the latest hibernate version (3.2.5.ga) has removed this feature. Right now you only can do:
@Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime") private DateTime timestamp = new DateTime(); And you cannot use PersistentDateTime.class.getName() or anything, because annotations do not support it. Oh, well. On Jan 10, 2008 7:01 PM, Ignacio Coloma <[EMAIL PROTECTED]> wrote: > Hi, > > It's been like a ton of years since this post, and I apologize: > http://www.mail-archive.com/joda-interest@lists.sourceforge.net/msg00520.html > > I finally got some time to peek at joda-time-hibernate again, and > found the following: > > 1.- The package-info works fine. You just map something like this in > your model class and it gets persisted as expected: > > @Type(type = "dateTime") > private DateTime timestamp = new DateTime(); > > 2.- It's weird, but this will not work (at least in my environment) if > you include it in joda-time-hibernate.jar. For me, it is only working > if I put the package-info file inside a "org.joda.time" package in the > same class folder that the model class. Putting it in a different jar > file gets it ignored. > > I'm posting this just to get it documented somewhere. The package-info > file follows, to use it: > > 1.- Save this file as "package-info.java" inside a "org.joda.time" > package in your model class folder. It must get compiled just as any > java file. > 2.- Add your persistent attributes as specified above. > 3.- Test your persistence. > > Sorry but I have not been able to put it inside the > joda-time-hibernate.jar. It is quite an obscure Hibernate feature, > maybe it gets improved in the future. > > Regards, > > === > > /** > * Annotations used to map type names to Hibernate UserType classes > */ > @org.hibernate.annotations.TypeDefs({ > @org.hibernate.annotations.TypeDef( > name="dateTime", > typeClass = > org.joda.time.contrib.hibernate.PersistentDateTime.class > ), > @org.hibernate.annotations.TypeDef( > name="dateTimeTZ", > typeClass = > org.joda.time.contrib.hibernate.PersistentDateTimeTZ.class > ), > @org.hibernate.annotations.TypeDef( > name="duration", > typeClass = > org.joda.time.contrib.hibernate.PersistentDuration.class > ), > @org.hibernate.annotations.TypeDef( > name="interval", > typeClass = > org.joda.time.contrib.hibernate.PersistentInterval.class > ), > @org.hibernate.annotations.TypeDef( > name="localDate", > typeClass = > org.joda.time.contrib.hibernate.PersistentLocalDate.class > ), > @org.hibernate.annotations.TypeDef( > name="localTimeAsString", > typeClass = > org.joda.time.contrib.hibernate.PersistentLocalTimeAsString.class > ), > @org.hibernate.annotations.TypeDef( > name="localTime", > typeClass = > org.joda.time.contrib.hibernate.PersistentLocalTimeAsTime.class > ), > @org.hibernate.annotations.TypeDef( > name="localTimeExact", > typeClass = > org.joda.time.contrib.hibernate.PersistentLocalTimeExact.class > ), > @org.hibernate.annotations.TypeDef( > name="period", > typeClass = > org.joda.time.contrib.hibernate.PersistentPeriod.class > ), > @org.hibernate.annotations.TypeDef( > name="timeOfDay", > typeClass = > org.joda.time.contrib.hibernate.PersistentTimeOfDay.class > ), > @org.hibernate.annotations.TypeDef( > name="timeOfDayExact", > typeClass = > org.joda.time.contrib.hibernate.PersistentTimeOfDayExact.class > ), > @org.hibernate.annotations.TypeDef( > name="yearMonthDay", > typeClass = > org.joda.time.contrib.hibernate.PersistentYearMonthDay.class > ) > }) > package org.joda.time; > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Joda-interest mailing list Joda-interest@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/joda-interest