Subscribe: Project News: pBeans Java Persistence Layer and ORM (including full news text)
Preview: Project News: pBeans Java Persistence Layer and ORM (including full news text)

Recent posts to news

Recent posts to news

Last Build Date: Wed, 28 Mar 2007 14:46:25 -0000


pBeans 2.0.1 Released

Wed, 28 Mar 2007 14:46:25 -0000

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.


pBeans 2.0 - Not Dead and Now Even Easier

Mon, 26 Mar 2007 01:43:58 -0000

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[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 for additional information.

Release Notes:


pBeans Java Object/Relational Mapping Layer 1.3 Released

Mon, 24 May 2004 01:54:23 -0000

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

For additional information on pBeans, visit

pBeans Java Object/Relational Mapping Layer 1.2.2 Released

Sat, 17 Apr 2004 17:24:33 -0000

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.

pBeans Java Persistence Layer 1.2 Released

Sun, 28 Mar 2004 16:47:44 -0000

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.

Start here:


pBeans Java Persistence Layer 1.0 Released

Sun, 21 Mar 2004 01:11:21 -0000

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
out here: