My experience with EJB 2 mostly is disappointment about performance. Hibernate should fix this performance issue for me, but that's when i have heard about EJB3 too. What is difference in this 2 technology and should i start learning Hibernate now ?
Well my 2 cents is that since Gavin is a huge factor in EJB3 Entity Bean, you will find so many similarities that learning Hibernate can only help when EJB3 comes out, and Hibernate might be your EJB3 implementation.
One thing I forgot to comment on is the performance issue. One of the main reason I started using Hibernate is that it has a huge # of options for tuning the database queries.
Hibernate Query Language (HQL) is much much much more expressive that EJB's query language (EJBQL), at least in EJB 2.x. With HQL you can do single row selects, outer joins, and all sorts of other tricks that EJB didn't let you do. I wrote more about the possiblies of tuning in an article for the serverside here http://www.theserverside.com/articles/article.tss?l=RailsHibernate
Admittly, this is a Hibernate vs. Ruby On Rails comparison. Rails has yet another ORM model, though very different than EJB. [ August 24, 2005: Message edited by: Patrick Peak ]