From the brief time I've been piddling around with it, I have to go with the consensus here and agree that Hibernate seems to be very friendly and a good choice for this. It seems nice and flexible, and not terribly hard to use.
Theodore Jonathan Casser
SCJP/SCSNI/SCBCD/SCWCD/SCDJWS/SCMAD/SCEA/MCTS/MCPD... and so many more letters than you can shake a stick at!
Even more exciting thing is happening in enterprise world.
EJB3.0 early draft is out for review: http://jcp.org/aboutJava/communityprocess/edr/jsr220/index.html Those who hate EJB must take a look at this. The fat is gone. It has become simple POJI/POJO model. Add a few annotations to it and you get an EJB. Seriously, no more Home interface, no more DD hell. No more JNDI reference in your code. Container services are provided using dependency injection ( to learn more read : http://www.martinfowler.com/articles/injection.html ) . Bye Bye Service Locator pattern. You can very easily test it outside the container. Don't you just love it. Wait, there is more ...
The whole entity bean model is changed completely. It is almost identical(even syntax wise) to Hibernate 2.x. Take a look at what future entity bean would look : http://hibernate.org/~gavin/ebejb3.pdf Suddenly, DTO becomes an anti-pattern!
However, there are some issues with java persistence model in the community. There is some big ego fight going on between EJB EG and JDO EG for last couple of months. It creates even more confusion as Entity Bean 3.0 model is so much similar to JD0 2.0 model. Geir & Jeremy state the whole confusion nicely and suggested a solution: http://blogs.codehaus.org/people/geir/archives/000758_persisting_problems.html Let's see if these two EG converge and come out with one solution for persistence. Either way, we get a TRANSPARENT persistence model.
It is exciting time for java technology. However, it also adds the responsibility to us to upgrade our skills. It is even more important for us, Indians, as our friend vishal saxena has pointed out to "All those techies strutting around Bangalore's MG Road take notice. Your competitor in the US is getting ready to strike back " : http://economictimes.indiatimes.com/articleshow/757187.cms
As somebody said, the illiterates in 21st century are those, who do not have the ability to unlearn and relearn.
Happy Learning, Sanjib Ghosh [ July 23, 2004: Message edited by: Kalpesh Soni ]
Test 094, IBM WID 6.0 cert
SCBCD 1.3 Beta
SCWCD 1.4 Beta
We think database mapping & integration capability are more important than api, because commercial projects need the flexibility and adaptability to cope with integration, changing requirements, and other difficulties.
Standards are a major to be able to cope this, and JDO is heavy weight with real presence. Companies need to deliver projects and avoid running into dead-ends 2/3 of the way there. (Most of us have been there; it gets real hard).
But being conservative grouches at heart, we're very clear on API and theory issues. The JDO api has highly efficient data transfer, more flexible and bedrock strength of identity handling, and real OO query expressions without old sql-syntax transformation.
(Sentence removed by Mark Spritzler)
Regards, Thomas Whitmore www.powermapjdo.com [ September 11, 2004: Message edited by: Mark Spritzler ]
My company produces a low cost development tool called FireStorm/DAO that will automatically generate your persistence tier based on an existing database schema. It actually gives you the choice of generating code based on JDBC, Entity Beans, or JDO. It also allows you to generate J2EE applications consisting of a session bean facade onto the persistence tier as well as a fully working web application based on Struts and Tiles.