Saturday, August 10, 2013

Unable to instantiate default tuplizer

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)

No comments:

Post a Comment