Hola
bien, es cierto, en principio: al usar hibernate o cualquier otro framework estas colocando una capa mas sobre el jdbc y el modelo DAO por lo tanto SIEMPRE sera mas optimo hacer tus propias clases y metodos para conexion (siempre y cuando las programes bien claro esta :P )y un gran etc, de la misma manera SIEMPRE sera mas optimo usar lenguaje maquina y programar directamente sobre el microprocesador en lugar de usar un lenguaje interpretado como java o compilado como c o cualquier otro lenguaje de alto nivel
entonces por que los usamos (los lenguajes de alto nivel) si es menos optimo?
facil: por simplicidad, una capa mas agrega mayor abstraccion al problema y nos concentramos mas en el mismo, nos desligamos de partes mas tecnicas o especificas como el driver o el motor en particular, o incluso armar el sql propio de cada motor, pues ya que hablamos de performance siempre es mejor usar el sql propio de cada motor y no el sql estandar
ahora bien, con esto no quiero decir que no se deba aprender jdbc o pasarlo por alto, todo lo contrario justamente para una vez programado y poder afinarlo necesitamos un buen dominio de jdbc para saber como esta funcionando todo y poder afinar el resultado final.
Entonces, si estas aprendiendo si, usa jdbc haz tus clases de conexion y llamada a metodos y procedimientos almacenadas, entiende bien lo que haces como y por que lo hace
si ya estas buscando resolver problemas pues elige, si la solucion es compleja un orm te simplifica el proceso de desarrollo a un costo performance aunque despues se puede afinar
si la solucion es simple y pequeña como dijeron antes una capa mas podria no ser necesaria y seria mejor usar tus propios metodos para hacer todo sencillo
en cualquiera de los dos casos es una cuestion de elegir y aplicar tu juicio, recuerda que todos los frameworks y demas son herramientas en tu cajon, tu elijes cual usar y por que, pero tambien debes conocer bien las herramientas que usas, uno no se compra una sierra electrica y la usa sin leerse las instrucciones o al menos haber visto usarla y practicado con ella antes
saludos
Edson
2008/7/28 Sergio A. Garcia Spaolonzi
<sg8...@gmail.com>
Sin animo de ofender a nadie, si queres aprender a programar bien:
-Utiliza el patron DAO hecho a mano y a medida para aplicaciones pequeñas (si ya se que Hibernate hace eso, pero creen que la performance es la misma?, y les parece que las consultas HQL tienen el mismo poder que SQL? y SQl desde hibernate tiene sentido? ).
-Para aplicaciones grandes utiliza J2EE en su maximo explendor utilizando EJBs.