pBeans is an Object/Relational Mapping (ORM) layer for Java that is designed to have near-zero configuration, support automatic or user-managed schema evolution, and allow for simple configuration of mappings by means of Java 5 annotations.
Version 2.0.1 fixes some concurrency bugs in the transaction and internal connection pool facilities of pBeans.
Before I announce this release, I feel I should apologize. I have practically abandoned this project for a couple years now. I see that some users have expressed that they liked the simplicity of pBeans, but were concerned that the project was "dead". Certainly, it appeared inactive and abandoned, but you never know if an open source project is actually "dead". Someone else can always take over and so forth. Either way, I now feel it was my responsibility to keep this project going given that I started it.
The most significant enhancement in pBeans 2.0 is the introduction of annotations in favor of the _ClassInfo decoration. This was an obvious improvement after the introduction of Java 5, and it is basically a must-have in a project like pBeans.
The way pBeans uses annotations follows its original philosophy: Keep things simple, and do as much for the developer as possible. So to make a class persistent you only need to annotate it with
pBeans takes care of the rest. Of course, in real-life applications, you will at least need a unique index and you may not like the table names pBeans generates by default, so you probably end up with an annotation like the following:
That is the typical annotation that I expect a persistent pBeans class to use.
But I didn't stop there. I decided to implement requested features, such as database transactions, auto-increment IDs (MySQL only) and others.
Then I implemented better marshalling and unmarshalling, support for arrays of primitive types and persistent references, support for enum types, global vs. per-class references, and other useful features.
Database support is still an area of weakness in pBeans, admittedly. MySQL is the best tested database, followed by PostgreSQL. In pBeans 2, I have changed the way new databases can be supported. You need only implement a class named net.sourceforge.pbeans.data.[database].DatabaseImpl that extends AbstractDatabase. The [database] placeholder there is the name of the database as used in the JDBC URL. I am hoping that this mechanism will encourage development of database "plug ins".
Visit http://pbeans.sourceforge.net for additional information.
Release Notes: http://sourceforge.net/project/shownotes.php?release_id=496430&group_id=104506
pBeans is a straightforward framework for mapping Java objects into relational database tables. pBeans does not require defining schemas in XML or writing SQL scripts.
This release of pBeans adds support for HSQLDB, contributed by berni123 at users.sourceforge.net.
For additional information on pBeans, visit http://pbeans.sourceforge.net.
pBeans is a Object/Relational (O/R) mapping layer which is very simple to get started with. Additional information can be found here:
This release fixes an issue with the delete
method, and it has additional API documentation.
This release adds:
- Support for PostgreSQL.
- Type PersistentID for on-demand object loading.
It also fixes:
- Problem with MySQL BLOB fields.
- Problem with repopulation of modified beans.
I have just launched the first release of
pBeans Java Persistence Layer. This project
is meant to make it very straight forward to
map Java objects into relational database
tables. There is no need to write SQL to
create database tables or modify fields on
every upgrade. There is no need to write
XML to specify schemas or anything of the
sort. It's completely Java based. Check it