pBeans project is a Object/Relational (O/R) database mapping layer. It is designed to be simple to use and automated.
The idea is that you save time and effort by simply focusing on writing Java classes, and not worrying about maintenance of matching SQL scripts, schema evolution, XML based schemas, or generating code. The pBeans framework takes care of persisting JavaBeans with little assistance from the developer.
Here are some key features of "pBeans":
· Automatic Table Creation and Schema Evolution- Tables corresponding to JavaBean classes are created on demand. Field types are based, by default, on JavaBean compile-time types. Field type changes and new fields are detected. Manually changing tables (user-managed mode) is also supported.
· Based on Annotated JavaBeans- You define a getter and setter for each bean property. Persisent bean classes only need to be tagged with a @PersistentClass annotation.
· Transitive Persistence- If object A is persisted and it refers to Persistent object B, then object B is automatically persisted. If Persistent object C also refers to B, and C is also persisted, the record for object B in the database is not duplicated.
· Instance Consistency- If you retrieve an object from persistent storage that is already known to exist in main memory, you get a reference to the object in main memory. (Garbage collection is allowed to happen via weak references.)
· Near-Zero Configuration- There is no need to define schemas or anything of the sort in a language other than Java, and there are no code generation steps of any kind. No XML or SQL need to be written, except the necessary to create a database and grant user permissions. However, you can instruct pBeans to let you manage database modifications manually.
· Database features- Transactions and auto-increment IDs (MySQL only) are now supported.
· Flexibility- Via annotations users are allowed to define their own table and field names, the name of the primary key, whether fields are nullable, whether tables are user-managed (not automatically modified), table indexes, unique or otherwise, whether unused fields should be deleted, whether a field is nullable, whether it is renamed from another field (to prevent loss of data when a property is renamed), etc.
· Servlet support- A pBeans store may be easily configured using servlet context parameters (see ServletAccess.)
· 2EE/J2SE 5+.
· A JDBC Driver.
· A Relational Database.
What's New in This Release:
· A rollback parameter was added to methods that end a transaction.
· A couple significant bugs were fixed.