2012-08-07 33 views
6

Tenemos un proyecto con base de datos MySQL y Spring como marco. Soy muy nuevo en primavera y que buscan implementar la capa de acceso a la base de datos y se encontró que hay varias opciones disponibles, comoSpring Hibernate Vs jdbc template vs spring orm

  • utilizando Spring + Hibernate
  • utilizando Spring JDBC Plantilla
  • Usando el módulo de resorte ORM

He revisado varias publicaciones en stackoverflow e investigué un poco en la web, pero cada pregunta tenía respuestas diferentes que respaldaban diferentes opciones. Además, sí vi una mención sobre la plantilla Spring JDBC que no se recomienda ahora.

La aplicación puede tener aproximadamente 1000 transacciones por hora y tiene un 60% de lecturas y un 40% de escrituras, aproximadamente.

¿Alguien me puede ayudar a encontrar una respuesta sobre cuál de las 3 opciones es adecuada y por qué? O, si puede indicarme algunos recursos, eso sería muy apreciado también.

Respuesta

22

Hibernate es solo una de las muchas soluciones ORM que Spring admite; otros se enumeran here.

Usted puede optar por ORM si todos los siguientes eran verdad:

  1. que usted tenía un modelo de objetos sólidos para mapear datos relacionales a.
  2. Le gustó el SQL generado por la capa ORM.
  3. Su esquema se ajusta muy bien a los requisitos de la solución ORM.
  4. No estaba usando muchos procedimientos almacenados.
  5. No creía que pudiera optimizar SQL mejor que el ORM.

Si alguno de ellos no es cierto, tal vez un ORM no es para usted.

Plantilla de Spring JDBC es ligera y simple. Apostaría que podría acomodar sus requisitos establecidos. Recomiendo seguir con eso hasta que descubra que sus requisitos lo llevaron a ORM. Si sigues el típico lenguaje de Spring y creas una capa de persistencia basada en interfaz, esto significará inyectar una implementación en lugar de otra.