jUDO (java Universal Data Objects) speeds up development/maintainence and removes database-vendor dependency for applications using databases. You should use jUDO whenever you don't want to use EJBs. You don't write any database code; you only have to specify the container classes and the interfaces for the models, and then jUDO creates the implementation for you runtime (no source is generated). It derives all info needed from your interfaces method names that follows name-pattern rules. In case you need some special access method, you either add a plugin for this or simply go directly against the database. jUDO is not as configurable and advanced as other much more professional software like Castor, Hibernate, etc., but since jUDO derives the database from your code, there is never a mismatch between code and database.