Butterfly Persistence was derived from Mr Persister 4.0.0 and provides a simple relational persistence API.
The users normally emphasize the simple and pragmatic approach to persistence as their main reason for choosing Butterfly Persistence. Butterfly Persistence will either help you, or get out of the way and let you do the job manually.
Butterfly Persistence's abstraction layers are shown below. Each of these layers are optional, meaning you can bypass them if you don't need them.Derived from Mr Persister 4.0.0
Butterfly Persistence is a cleaned up version of Mr Persister 4.0.0. As such Butterfly Persistence is not a new API. It has alread proven itself through years of use in production environments, and has been downloaded thousands of times.
Mr Persister had more peripheral features (connection pooling, transaction handling etc.) than Butterfly Persistence has today. These features will be added if they provide value. If not, alternative solutions will be advised. Product's homepage
Here are some key features of "Butterfly Persistence":
· Automatic connection management - Butterfly Persistence opens connections
· Manual connection management - you open connections
· Full access to connection at any time
JDBC Support / Utilities:
· Read utilities make reading from DB very simple.
· Update utilities make updating DB very simple.
· PreparedStatement utilities eases the parameterization of SQL queries.
· ResultSet iteration utilities eases iteration and closing of ResultSet's
Map Reading Utilities:
· Read any SQL query into a Map for use in complex views or dynamic reports.
Object Relational Mapping (ORM):
· Read / Insert / Update / Delete objects in just 1-3 lines of code.
· Automatic object to table mapping.
· Annotation based object to table mapping.
· Programmatic object to table mapping.
· Mapping methods can be combined.
· SQL as query language.
· Automatic SQL generation for most trivial tasks.
· Batch updates of multiple objects.
· Compound primary key support.
· Partial object reading and writing.
· Read Filters.
Ease of Use:
· No config files required.
· No new query language (just plain SQL)
· Easy interleaving of custom JDBC with Butterfly Persistences utilities
Stability, Maturity & Performance:
· Less than 5% overhead compared to JDBC (Much less than Hibernate)
· Well Tested. 313 unit tests were executed against each supported database.
· First stable release was august 2004.