Sunday, January 29, 2012

java.lang.ClassCastException: java.util.HashSet cannot be cast to java.util.List


java.lang.ClassCastException: java.util.HashSet cannot be cast to java.util.List
at org.hibernate.type.ListType.wrap(ListType.java:62)
at org.hibernate.event.def.WrapVisitor.processArrayOrNewCollection(WrapVisitor.java:106)
at org.hibernate.event.def.WrapVisitor.processCollection(WrapVisitor.java:73)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:122)
at org.hibernate.event.def.WrapVisitor.processValue(WrapVisitor.java:120)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:77)
at org.hibernate.event.def.AbstractSaveEventListener.visitCollectionsBeforeSave(AbstractSaveEventListener.java:390)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:295)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
at dao.CategoryDAO.createCategory(CategoryDAO.java:32)
at main.TestAd.populateData(TestAd.java:71)
at main.TestAd.main(TestAd.java:35)

Issue:

The class types of Java object and mapping is not same. I used java.util.Set to associate in java class, where I declared associations using <list> in the mapping xml.

Solution:

Make the types same in java and mappings

No comments:

Post a Comment