|
Simple to program:
- CRUD-ready: select, insert, update, and delete (more complex operations are available)
- Annotate only what differs from the defaults
(convention over configuration)
- Accomplish almost everything with two classes (Database and
Table)
and a few annotations
- No JPQL, HQL, OQL, etc.
- No SQL required (custom SQL allowed)
- No inheritance/interfaces required (active record uses inheritance; lazy loading uses interface)
- No DAO's to implement
- Zero configuration is possible (no configuration files, no SQL, no annotations, no inheritance/interfaces)
- Use Active record pattern for the simplest approach (see Active Record Example)
Simple to configure:
- One small jar (no dependencies)
- No configuration files
- No XML
Simple to understand:
- Simple mental model
- 21 examples are included
- No lazy loading errors or caching complexities
Works with any relational database:
- Creates standard SQL
- Can be mixed with JDBC
- Custom SQL allowed
- Change database server/engine without changing any Java
Features:
Automated test suite of 132 tests:
- Tested with H2 (included)
- Tested with HSQLDB (included)
- Tested with Derby (included)
- Tested with SQLiteJDBC (included)
- Tested with Firebird (test configuration and driver included)
- Tested with DB2 (test configuration and driver included)
- Tested with Oracle 11g (test configuration and driver included)
- Easily run the suite of tests against your database (see add-database.txt in project)
Requirements:
- Java SE 1.5 or later for Sormula 1.x
- Java SE 1.7 or later for Sormula 2.x
- A relational database supporting standard SQL (SQL-92 or later, SQL-99 if using identity columns)
- SLF4J for logging (optional)
- Apache Ant 1.8 or later (running tests and building from source)
- Mercuial 2.0 or later (if making source code changes)
As simple as...
Zero Configuration Example |