What is Catnap?

Catnap is a data layer which allows Java applications to store objects in an Oracle database. It uses a simple XML file to map between Java objects and database stored procedures.

What is it not?

Catnap is not an ORM (Object Relational Mapping) framework. If anything, it is an OPM (Object Procedural Mapping) layer. It does not generate any SQL, it simply maps between Java objects and PL/SQL stored procedures. This means it is very lightweight.

Catnap is not designed for Java programmers who consider the database to be a big mysterious "bit bucket" into which objects can be magically persisted. You will need to know a small amount of PL/SQL. But on the plus side, you (or your DBA) will have complete control of the SQL.


Catnap uses parts of the Spring Framework, especially the code which wraps JDBC and takes care of transactions. There is nothing fancy here, we just use the database's transactions. However, you can still use pooled connections and it'll all work as expected.


The documentation for Catnap is still in the early stages. Please click on the links below to access javadocs and the current version of the html developers guide.

Developer Guide


The latest versions of the Catnap Client and Server Libraries are available for download here

SourceForge.net Logo