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 googl…

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)

You May Also Like

Loops performance in Groovy

IntroductionIn the 2018 Advent of Code challenged I solved all the puzzles in Groovy. It is pretty obvious, that choosing good data structure is the most important to obtain performant solution. However, the way we iterate over those structures is also...