I wrote few hbm mappings for domain classes in my recent project, and I got exception like that:
org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
Of course my first thought was googling for it and I found interesting answers. Most commons causes of this exception are:
- missing getters or setters, what’s more, even a typo or wrong letter case (like getParentproject instead of getParentProject when field in class and mapping file is defined as parentProject)
- missing default constructor
- missing dependency for javassist library
My files seemed to be correctly defined, so it had to be missing dependency.
To fix it I’ve added these lines to my pom.xml:
<dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.18.0-GA</version> </dependency>
Well, it shouldn’t be a surprise because in full stacktrafe from this error there is an entry:
java.lang.ClassNotFoundException: javassist.util.proxy.MethodFilter
What explicitly indicates where is the root of this problem ;)
(And BTW: in my recent project I’m stuck with quite old version of Hibernate – 3.6.3)