java - example - spring hibernate sessionfactory
Primavera vs Hibernate (5)
Estoy tratando de entender a Spring y averiguar cómo conecto una conexión Oracle en el archivo de configuración xml, y ahora descubro que necesito otro framework. - Hibernate, ¡esto es tan frustrante, ya que se siente como si me estuviera adentrando cada vez más en frameworks sin obtener lo que necesitaba!
Miré Hibernate y parece hacer cosas similares a Spring, teniendo en cuenta que solo quiero hacer algunas inserciones SQL en Oracle.
Soy reacio y no tengo tiempo para aprender 2 frameworks. ¿Podría hacerlo con solo adoptar Hibernate para las cosas simples que necesito hacer?
... ¿podría salirte con la suya simplemente adoptando Hibernate para las cosas simples que tengo que hacer?
Sí
Hibernate es para ORM (asignación relacional de objetos), es decir, hacer que sus objetos sean persistentes para un RDBMS.
La primavera va más allá. Se puede usar también como AOP, Inyector de Dependencia, una Aplicación Web y ORM, entre otras cosas.
Entonces, si solo necesita ORM, solo use Hibernate. Llegará el momento en que necesites la primavera y la aprenderás en ese momento.
Aquí hay una vista arquitectónica de Spring:
Y esto es Hibernate:
Podrías salirte con la tuya usando solo la integración primavera-primavera-JDBC . Dependiendo de la complejidad de sus necesidades de acceso a datos, puede ser más que suficiente. El mapeo primavera -relación de objetos también vale la pena si vas a hacer un montón de acceso a datos.
Lo bueno de la primavera es que es un marco muy débilmente acoplado. De modo que puede leer los bits que usa y olvidarse del resto, incluso en el tiempo de ejecución.
Si todo lo que quiere es insertar sql para Oracle, me limitaría a una biblioteca JDBC simple. Todo lo que necesitas es una conexión y tal vez un ConnectionPool (tal vez c3po). Hibernate y similares son demasiado grandes / demasiado complicados e IMO inferiores. Hibernate incorpora JDBC bajo el capó pero en todos los sentidos es inferior: más difícil de usar, no más rápido y las consultas que tiene que escribir o no son más fáciles. También es un testimonio de su inferioridad porque HQL también proporciona una ruta de derivación para que pueda ingresar consultas JDBC directamente. Proporcionan esto (sospecho) porque para cualquier consulta compleja simplemente no se puede construir bien en HQL.
Spring e Hibernate son marcos totalmente diferentes para diferentes problemas. Spring es un gran marco con muchas características, Hibernate es un puente O / R.
Yo recomendaría usar JDBC simple y antiguo en su caso (''solo algunas inserciones SQL en Oracle'').
Spring e Hibernate tienen la intención de hacer dos cosas diferentes. Spring es ante todo un subsistema de contenedor y configuración de inversión de control, mientras que Hibernate es un motor de carga de datos y de carga diferida. Si no quiere introducir un montón de cosas nuevas en su código, quédese con Spring y desarrolle sus propias consultas o use iBatis para hacer un enlace de base de datos mucho más simple.