Over the last couple months I’ve been using three different persistence frameworks and I thought I’d give you a bit of an insight on each of them. Although, I may not have had an equal amount of time to review each one of these products, I hope this review is still beneficial in some way.
ConXons, is a custom java framework designed Ross Group Inc. I’ve spent 11 months developing within this framework and have seem it’s ups and downs.
Conxons works by reflecting tables as model objects. These model objects allow for creation of new records, editing records and removing records. They are created by D.O.G.(Data Object Generator). DOG will cycle through all of the selected tables and generate the necessary java classes.
In order for an object to be created, access or saved. The “User” object must be passed to the Model’s constructor; The user contains the connection object needed for all database interaction.
The only down side is that ConXons does not have a cutsom query language. Instead, searching for a specific model object is done by using SearchCondition objects. Each one of theses SearchConditions checks a column in the database for a supplied value. After the search method is ran, it returns all of the objects within an SortedSet that can be easily manipulated by the developer.
The product is for sale, but there’s not a set price. Contact RGI here for more info
Configuration is easy and object access and manipulation is highly customizable. Advance data accessing is harder without a query language, but can still be achieved.
Hibernate is a persistence tool created by Red Hat. Hibernate complies with JPA – Java Persistence API
To get data to persistence the developer must setup the connection information inside of Hibernate.cfg. The layout of the tables are placed inside of another cfg file. The model object that represent those configurations are created manually or at least I did not have an automated tool. Then you need to add a DAO(Data Access Object) needs to be created for each model Object so the objects can be accessed and saved.
Accessing data uses HQL (Hibernate Query Language).
Configuration isn’t the friendliest, without a automated tool adding new objects is time consuming and the query language is nice, but I like having simple constructors to access. With that being said it’s a great product used worldwide. Implementing this system would allow for contractors.
I have to be honest, I’ve only use Entity for a few days, but from what I can tell it seems to be the most solid framework I’ve used.
Setting your project to used Entity is extremely easy. You create a connection to your database inside of Visual Studio. Use a that connection to create an ADO.NET data model. Select which tables you wish to generate objects for and voila. You now have the ability to access objects in your database, because the rest of the configuration is automated.
Entity is extremely easy and it seems to be pretty solid. With the ability to see the relationship between your objects, fast model creation and a useful data query language, this frame work gives the developer all the tools they need to complete the job in a timely manner.