joist-domain is an ORM that focuses on performance, specifically startup time.

While startup time is of little concern in production, in TDD environments it is critical to maintaining productivity.

To achieve the fastest possible startup time, Joist uses code generation (see shims and aliases) instead of the runtime bytecode generation. So, instead of re-generating potentially several hundred classes (on projects with large schemas) with CGLIB on each startup, all of joist-domain’s persistence hooks and meta-data are regular, static Java code that loads quickly.