Thread:
 This is working great. We have one issue... 
 jcaristi   29 May 2008, 09:20 

Comment
Prev. thread 
 Next thread
 
Prev. posting 
 Next posting
From: jcaristi (29 May 2008, 09:20) Replies: 0, Views: 529
Subject: This is working great. We have one issue...
We have standardized on java.util.Calendar in our application, and 
HibernatUTC is working well for us, except that I am getting a 
ClassCastException when I attempt to use HibernateUTC with a version 
column.  The database is set to automatically generate a timestamp on 
insert or update. My Hibernate mapping looks like this:

<version name="lastUpdated" generated="always" 
type="whi.core.data.hibernate.HibernateUTC$CalendarType" 
column="LastUpdated"/>
	 
Even though I have generated="always" in my mapping file, if I do not 
initialize the data for this column in my application, Hibernate seems 
to be generating a "seed" value.  When it does, I get the error that 
follows. I would prefer to never set this column value (since it is 
database-generated) but for the moment, I am setting the value to the 
current date as a workaround.  I haven't taken the time to look into 
the Hibernate code to see what is going on.  

Here's the error:

java.lang.ClassCastException: 
whi.core.data.hibernate.HibernateUTC$CalendarType
	at org.hibernate.type.CustomType.seed(CustomType.java:203)
	at org.hibernate.engine.Versioning.seed(Versioning.java:55)
	at org.hibernate.engine.Versioning.seedVersion
(Versioning.java:86)
	at 
org.hibernate.event.def.AbstractSaveEventListener.substituteValuesIfNece
ssary(AbstractSaveEventListener.java:404)
	at 
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate
(AbstractSaveEventListener.java:270)
	at 
org.hibernate.event.def.AbstractSaveEventListener.performSave
(AbstractSaveEventListener.java:181)
	at 
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
(AbstractSaveEventListener.java:107)
	at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGenerat
edOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
	at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransie
nt(DefaultSaveOrUpdateEventListener.java:172)
	at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUp
date(DefaultSaveOrUpdateEventListener.java:94)
	at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate
(DefaultSaveOrUpdateEventListener.java:70)
	at org.hibernate.impl.SessionImpl.fireSaveOrUpdate
(SessionImpl.java:507)
	at org.hibernate.impl.SessionImpl.saveOrUpdate
(SessionImpl.java:499)
	at org.hibernate.impl.SessionImpl.saveOrUpdate
(SessionImpl.java:495)
	at 
org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate
(HibernateTemplate.java:696)
	at 
org.springframework.orm.hibernate3.HibernateTemplate.execute
(HibernateTemplate.java:373)
	at 
org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate
(HibernateTemplate.java:693)
Prev. thread 
 Next thread
 
Prev. posting 
 Next posting
© Copyright 2006, Red Hat Middleware, LLC. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc. [Privacy Policy]