Persisting Data

Background

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 – Ross Group Inc

  • Overview

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.

  • How does it work? 

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.

  • How much does it cost? 

The product is for sale, but there’s not a set price. Contact RGI here for more info

  • Bottom Line?

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 – Red Hat

  • Overview

Hibernate is a persistence tool created by Red Hat.  Hibernate complies with JPA – Java Persistence API

  • How does it work?

 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).

  • How much does it cost? 

 Free download

  • Bottom Line?

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.

Entity FrameworkMicrosoft 

  • Overview

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.

  • How does it work?

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.

  • How much does it cost? 

 Free download

  • Bottom Line?

 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.