Hi all!
I' have been using Ojb persistence broker, for almost 4 years.
I think it's not necessary to say what a great framework it is, as everybody
in this list, surely experimented it.

I wrote a very generic DAO to make the must common access to the database,
as create,read, update and delete (CRUD).
In this DAO there are a lot of methods that can be useful for the most
purpose in an application.
This DAO  make very easy the use of Ojb, as the details of using Ojb are
hidden in the DAO implementation.
So the user doesn't need to mind about get a persistence broker, begin and
commit or rollback  a transaction, and there are methods that use in a more
advanced way Ojb using his apis, and expose to the user just methods that do
many think (in a Facade way).

I made a small framework called Mandragora,
http://mandragora.sourceforge.net/ , that use this DAO.
The framework is very easy, there is a small documentation, and I'm trying
to complete it as quick as I can.

With mandragora you don't need to access the DAO directly, but they are
exposed to a Business Delegate manager class, that can be accessed directly
by the user.
The manager business delegate class expose to the Mandragora user lots of
methods that use DAO apis, to make more complicated methods as to make
simple operations.

So using Mandragora you a have available a set of very powerful methods to
operate on value objects. These methods deal with making
hard manipulations or tranformations, or building structures of valuobjects,
or reading and storing complex structures.

To make an idea of how is to work with it just put at the beginning of your
method

BD bd = ServiceLocator.getInstance
().getManagerBD("BDFactoryDefaultClass","StandardBDDefaultClass");


then you can do for example

MyValueObject myValueObject = (MyValueObject ) bd.findByPrimaryKey(
MyValueObject.class,  myArrayOfKeyValues)

If you have a class CarVO whose keys are name, and model, just do:

CarVO fordfocus = (CarVO )bd.findByPrimaryKey(CarVO .class, new
Object[]{"focus","ford"});

or

bd.insert (fordfocus );

I hope this can be useful to someone.

Thanks for your attention.
Regards
Alessandro Colantoni

Reply via email to