31 May 2005

The Ever Venerable Data Access Object

Failure to read this, bigger chance you fall into hibernate.

http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html

5 comments:

Jonathan Wong said...

Hibernate does not prevent you from using DAOs in your application. IMO, the real value of Hibernate (or any other ORM solution) is the ability to do simple to semi-complex object queries, updates, and insertions without needing to deal with SQL, and the marshalling of data from domain objects to and from the DB resultset. Plus, when you are (unfortunately) marketing your product to be "DB-agnostic", having a framework like Hibernate to handle different DB dialects is a great time saver and first step when you are trying to support multiple databases. The sad reality is, not all Java developers (at least in Singapore) are competent in SQL.

The IT Manager said...

DAO Developers might find this useful.

http://www.codefutures.com/weblog/corporate/archives/2005/02/data_persistenc.html

btw, i agree with jonathan, in a enterprise world, we need rapid output rather than dwelling on the intricacies of the technology. Looking for people who are competent in all fields takes alot of time and money for the company. Skill is money!

Luke said...

Why? What's wrong with Hibernate? Using an ORM, especially a mature one like Hibernate, does not compromise the quality of your code, nor take away one's credibility as a hard-core Java hacker. ORM frameworks add value to your application rather than break it.

Look at it this way, Hibernate itself is a DAO, and in fact, a DAO idiom.

Anonymous said...

DAOs are best design practice....

And Hibernate is just another Java persistence technology choice - not based on an industry spec like JDO or JDBC.

There's nothing mutually exclusive about DAO and Hibernate/JDO/JDBC.

There's some contact on the same site pointed in an earlier comment

http://www.codefutures.com/data-access-object

Anonymous said...

Can you do multi-dimensional querying in Hibernate? The way Cognos Impromptu does? JDO supports that.

The JDO spec does not have any support for multi-dimensional queries.