Simple Java Object Relational Mapping
Power without complexity.


Simple adj. 1. Easy to understand, deal with, use etc.   2. not elaborate or artificial. 3. unaffected, unassuming.  4. not  complex or complicated.  [Macquarie Dictionary].

Note This project is now dormant.  The code works, and is a much better approach to ORM than other overly complex solutions like Hibernate.  Moreover, I do not know any good alternatives. However, I no longer have time to maintain it.  The code is simple and transparent, and someone else is welcome to take it over.


SimpleORM is a full featured Java object relational mapping system that avoids exotic technologies such as byte code generation.  SimpleWebApp is a framework that can use SimpleORM to implement Java web applications very easily.  Simple applications should not be complex to implement.

SimpleORM/Web's extensive use of meta data also enables applications to be deeply customized by external jars.  This enables more complex applications to be delivered as core services and separate but deeply integrated plug in modules.

Both are open source projects (Apache style license).

Anthony Berglas.

SimpleORM Version 3.*

SimpleORM provides similar functionality to Hibernate by mapping data in a relational database to Java objects in memory.  Queries can be specified in terms of Java objects, object identity is aligned with database keys, relationships between objects are maintained and modified objects are automatically flushed to the database with optimistic locks.

But unlike Hibernate, SimpleORM uses a very simple object structure and architecture that avoids the need for complex parsing, byte code processing etc.  SimpleORM is small and transparent, packaged in two jars of just 79K and 52K in size, with only one small and optional dependency (Slf4j).  (Hibernate is over 2400K plus about 2000K of dependent Jars.)  This makes SimpleORM easy to understand and so greatly reduces technical risk.

SimpleORM version 3.* is a major upgrade that provides a distinct DataSet component while simplifying record definitions.

See the SimpleORM White Paper / tutorial for a full description of how SimpleORM works.


See for a very simple environment for running web applications as servlets.  No JSPs, no XML at all.  There are two styles of usage, procedure based or a component model.  The easiest and quickest way to build simple web applications.


A discontinued tool to quickly develop high quality web applications.  It provides reusable templates that encapsulate standard user interaction patterns that list, view and update data (CRUD).  SimpleWebApp also cut through the layers to integrate interfaces with databases.  This means that the only code you needed to write is real application logic rather than large quantities of repetitive glue code.  And the code you did write is plain old Java code with minimal reflection etc. because developing web application should be ... simple. 

However, SimpleWebAp uses JSP technologies to render the templates.  Ultimately, it just became too hard to use JSPs with all their bugs and limitations, so the move to Simplets.  

Mailing Lists


Download SimpleORM sources.


All inquiries, suggestions or offers of assistance most welcome.

Contact Anthony Berglas .

"SimplestOrm" Is NOT SimpleOrm

We are annoyed that someone has recently created a project called "SimplestOrm", which has no relationship to SimpleOrm.  It is fine for people to create new projects, or even to fork SimpleOrm, but it it is not fine to copy other project's names and thereby cause confusion.  In fact,   "SimplestOrm" is everything that SimpeOrm is not -- it is riddled with reflection and annotations while being sloppy with semantics.  We certainly do not endorse it.

Many programmers are clever enough to write clever code, a few programmers are clever enough not to.

No XML, no reflection, no annotations. It's simply typesafe java code.  It's easy to use. Because it is open source and the amount of source code is rather small, there will be always somebody who will maintain the software.  The dataset component is independent from the jdbc-component. -- Thomas Leichner Logo


Additional Keywords: hibernate Java Simple ORM O/R mapping map mapper JDO JPA