What is PriDE?

PriDE is an ultra-thin and high-performance Java O/R mapper for relational databases, originally developed by MATHEMA Software GmbH. It doesn't follow any persistence management standards but relies on common design patterns and is production-proved in both J2SE and J2EE environments. PriDE can really claim to be the world's smallest persistence manager, coming as a single library of less than 100k, without requiring XML and appropriate parser frameworks or other helper libraries beside the JDK.

PriDE gains its simplicity from a few important design decisions assuming an application architecture based on approved and widly recommended design patterns. This allows to dispense with some popular features which make O/R mapping toolkits fat and sometimes cause a kind of uncontrollable and unexplainable self-will when being used extensively. Many of these design patterns are related to a layered software architecture which is most often used for the design of distributed 3-tier systems. However, a layered architecture is in general reasonable and strongly recommended for any complex system, not only for distributed applications.

The design was partly inspired by Scott W. Ambler's white paper "The Design of a Robust Persistence Layer For Relational Databases". The manual provides a feature list allowing to decide if the toolkit matches the individual requirements in a software development project.

How to learn PriDE?

For a quick introduction, it is recommended to have a look at the quick start tutorial. A complete overview about PriDE's working principles can be found in the introduction chapter.

Why another O/R mapping toolkit?

Allthough PriDE wasn't released as an OpenSource project before mid of 2003, this toolkit is not new at all. It is already in use silently in various different production systems as it can be seen from the reference list. And allthough a lot of O/R mappers have already been released, refined, and evolved over years now, it is still a fact that the most simple persistence management approaches have the best chance to lead to a stable solution. Simplicity turned out to be a key attribute for such a critical thing like database access which is the performance bottle neck for most software system's. PriDE provides both crucial developer convenience as supposed by an O/R mapper, and an absolutely slim framework implementation which can actually be understood and maintained by its users if necessary.

PriDE claims to be high-performant in the sense, that it does not waste mentionable time over pure JDBC. In particular it allows e.g. fast processing of large result sets which is a known problem with standards like JDO or EJB-CMP. It does not show any side-effects by transparent caching, relationship or entity management and thus doesn't cause bad surprises when being used in large-scale projects. It does not claim to be faster than the database itself, as it does not automatically perform any caching, expression optimization, or load/store-optimization. Optimization is supposed to be in the application's responsibility as it often turned out in practice that automatic optimizations by persistence managers caused at least as many problems as they solve.

PriDE integrates with CUBA

CUBA is a small OpenSource framework for the development of components which can be run as EJBs, AXIS WebServices, or in a stand-alone application. PriDE can be used as a persistence manager for CUBA components. Check out the examples on the CUBA website at http://cuba.sourceforge.net/examples/pride.