Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Hibernat - Future's technology ?

 
Girish Varde
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi everyone,

I heard that ejb is not the final solution for all your database opertions in all cases. Sometimes, you need to use JDo or Hibernate.

tried to Google for Hiobernate, but not fortunate enough to get hard core extensive comparision and actual strengths and weakness areas of the three. I was confused because of the opposite views.

Actually, i am in a hurry and i have to choose among ejb and hibernate.

One company which is offering me is large and using ejb, while the other is relatively young but uses hiberbate and strongly canvasses it, We are having discussion on chat / mail, but i can not take that as final word, it might be motivated.

Has hibernate bright future and i should choose it against ejb?

Does it provide all other features such as messege driven bean, session beans etc. in ejb or just for persistance? Does it provide api for transaction, security, user level access in ejb.

Messages ?

I need guidance from experienced people here.

Can anyone compare theses three technologies and the predict future market for them please.

Thanks and regards,

Girtish Vard
Posts: 14 | Registered: Jul 2004 �
 
Phil Hersh
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Girtish,

The differences between portions of EJB and Hibernate may not be as great as they seem at first. Hibernate is open source Object/Relational Mapping software now supported by jboss. In my opinion and many others it is most effectively used in combination with the excellent Spring Framework, found at springframework.org. The combination of the two makes relational data access from an object oriented program "almost" painless. Hibernate itself does not provide the other EJB services you list in your post such as transactions and security, but Spring makes it straightforward to implement these services.

I say that the difference is not as great as it may appear because my understanding is that the new EJB 3 spec has a lot in common with hibernate.

Based on my experience developing web applications with Hibernate and Spring, my prediction is that they will be very strong in the market. On the other hand, major commercial EJB application server vendors like IBM, BEA (and in a sense JBOSS) will not be going away. They will continue to be used for the 20% high end projects (often described as those requiring synchronized access to multiple distributed databases).

As to which technology to learn, it is of course based on your specific needs, including what type of work are you looking for: full time job, contracting work, etc.

Hibernate is an excellent technology, with a somewhat stiff learning curve, but once you get the hang of it, you will be amazed at how it helps the data access portion of an application.

Phil
 
Steven Bell
Ranch Hand
Posts: 1071
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Phil Hersh:
Hi Girtish,


I say that the difference is not as great as it may appear because my understanding is that the new EJB 3 spec has a lot in common with hibernate.


So you can wait for EJB's to catch up with Spring + Hibernate, or just start using Spring + Hibernate.
 
Pj Murray
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You might find this comparison of the various data persistence technologies useful:

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

Remember: CodeFutures supports all of these technologies - so we'd like to think we're persistence strategy neutral.

One other important point: you should not mix up your technology choice with the related but separate issue of best design practices. In this case, I suggest you look at the Core J2EE Design Patterns.

http://java.sun.com/blueprints/corej2eepatterns/

and Data Access Objects

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


Regards
PJ Murray
Java Code Generation for Data Persistence
http://www.codefutures.com
 
Girish Varde
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Phil, Steven and Murray for your prompt and wonderful response in so much detail.

It is really helping me while making that difficult choice.

Thanks and regards,

Girish Varde
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic