StoredProcedure vs JPA StoredProcedure

Hola!

Estoy limitado a llamar siempre Funciones PL/SQL de Oracle, en eso no hay alternativa, no puedo manejar sentencias DDL o DML desde la app, siempre debe ser por SP's.

Si la idea es desarrollar un conjunto de servicios web REST con SpringBoot, al día de hoy utilizo la clase StoredProcedure de Spring, sin embargo, me nace la inquietud de usar JPA y el concepto de Repository de SpringBoot como lo mencionan en el live demo que se acaba de tener el día de hoy con Domingo Suárez.

En esta página indican como poder llamar SP's usando JPA
https://dzone.com/articles/calling-stored-procedures-from-spring-data-jpa

Mi pregunta es simple... ¿Ofrece alguna ventaja usar la clase StoredProcedure que usar JPA aunque solo lo use para llamar SPs?

¿Cuál es más rápido de codificar? ¿Alguna de las dos opciones podría tener mejor performance?

De antemano, gracias!!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

¿Ofrece alguna ventaja usar

¿Ofrece alguna ventaja usar la clase StoredProcedure que usar JPA aunque solo lo use para llamar SPs?
Pues yo no le veo ventajas, si ya tienes JPA, usarlo para consumo de procedimientos almacenados, sería como para tener una forma uniforme de comunicarte con la base de datos, pero si no, pues no le veo sentido meter tooodo un ambiente de persistencia, si sólo es para éso.

¿Cuál es más rápido de codificar?
Pues depende de tu experiencia en cada herramienta, si tú codificas uno, y después alguien más llega y se le expone tu código como ejemplo, no debería de tardar mucho en aprender cómo consumir SP independientemente de la herramienta.

¿Alguna de las dos opciones podría tener mejor performance?
Pues, aunque generalmente el uso más pegado a JDBC debería tener mejor performance en general, Hibernate(por mencionar un proveedor de persistencia para JPA) clama que Hibernate es muy rápido, así que si te vas por la opción de JPA también dependería del proveedor de persistencia que pienses utilizar.

Re:

Depende. También depende de qué implementación de JPA 2.1 vas a usar (EclipseLink, Hibernate). Algunas soportan SYS_REFCURSOR , otras no. Algunas validan que las entidades tengan los campos con los nombres correctos... etc, etc.

Imagen de WinDoctor

gracias

Gracias por sus comentarios...

saludos!