org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType

 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.ClassCastException: org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType
Caused by: java.lang.ClassCastException: org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType
at org.hibernate.tuple.PropertyFactory.buildVersionProperty(PropertyFactory.java:84)
at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:160)
at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:425)
at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:109)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:226)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)

-----------------------------------

可能原因:

某张表有version字段,从hibernate tools生成的hbm文件内容:


           


引起上述错误。

将version字段的名称进行修改,或者将此配置信息修改为:


           


重新发布,即可。

原文:http://871656094.iteye.com/blog/1004568

你可能感兴趣的:(Java学习)