Primero establezcamos los siguientes términos:
- ORM (patrones de acceso: JPA, Hibernate, EclipseLink, OpenJPA, muchos otros)
- SQL (patrones de acceso: JDBC, Spring JDBC, Apache DbUtils, jOOQ, muchos otros)
Los ORM se utilizan para asignar sus tablas y registros RDBMS a objetos Java. Se utilizan para transferir el estado entre su RDBMS y Java de una manera completamente transparente, eliminando el SQL, lo que es increíblemente útil una vez que CRUD se vuelve complejo. CRUD puede volverse complejo cuando, dentro de una sola transacción, desea agregar / eliminar / mejorar / vincular / desvincular docenas de entidades diferentes, lo que resulta en cientos de sentencias SELECT, INSERT, UPDATE, DELETE, evitando bloqueos innecesarios a toda costa. Para esto: utilice ORM (por ejemplo, a través de JPA).
SQL se utiliza para modelar el procesamiento de datos masivos complejos, denormalizando su esquema almacenado en varios formatos diferentes, mediante uniones, uniones, consultas jerárquicas, etc. Esto es extremadamente útil cuando se realizan consultas complejas, informes, operaciones por lotes y mucho más. Para esto: utilice SQL (por ejemplo, a través de JDBC).
- ¿Es UX realmente tan importante en el desarrollo de software?
- ¿Qué es fácil de aprender, pruebas de software o desarrollo de software?
- ¿El soporte técnico es una marca de por vida para un desarrollador de software?
- ¿Cuál es la mejor manera de construir un portal para desarrolladores?
- ¿Cuáles son algunos consejos para asegurar una pasantía de ingeniería de software con IBM como estudiante universitario de CS?
Las dos API tienen diferentes propósitos. Lecturas adicionales que ilustran esta diferencia:
- jOOQ vs. Hibernate: Cuándo elegir cuál
- ¿Cuándo debo usar un ORM?