Prise en charge des procédures stockées
Pseudocode
CREATE OR REPLACE PROCEDURE order_update (id INTEGER, customer_id INTEGER, amount OUT DECIMAL);
OrderUpdate orderUpdate = new OrderUpdate(configuration, connection);
// OrderUpdate is generated based on a stored procedure with the same name
orderUpdate.setId(123);
orderUpdate.setCustomerId(7849320);
orderUpdate.execute();
Double amount = orderUpdate.getAmount();
Je ferme cela pour l'instant, car je n'ai pas trouvé de moyen de fournir une prise en charge des procédures stockées sécurisées dans Querydsl. N'hésitez pas à le rouvrir.
Le PreparedStatement.getParameterMetaData() sur le SP peut être interrogé dans JDBC pour générer les types n'est-ce pas ?
Mais est-ce disponible via les métadonnées de la base de données ?
Cela ne devrait-il pas fonctionner de la même manière que les tables pour le paramètre et le nom du processus ?
http://www.java2s.com/Code/Java/Database-SQL-JDBC/GetStoredProcedureSignature.htm
Pour le jeu de résultats renvoyé de la procédure, nous pouvons passer dans une classe de bean comme
un argument dans le cadre de la méthode d'exécution. Le reste vient de la db
métadonnées, n'est-ce pas ?
Le ven. 25 janv. 2013 à 14:13, Timo Westkämper
[email protected] a écrit :
Mais est-ce disponible via les métadonnées de la base de données ?
L'une des situations délicates peut être de gérer correctement des éléments tels que les paramètres d'entrée et de sortie et de les enregistrer dans l'appel, mais toutes ces informations sont contenues dans les métadonnées, de sorte que le code généré devrait pouvoir les gérer facilement.
Ce serait très bien de voir ces fonctionnalités - et c'est une fonctionnalité que JOOQ possède : http://www.jooq.org/doc/3.2/manual/sql-execution/stored-procedures/
Je viens d'utiliser la prise en charge des procédures stockées pour JPA 2.1 et cela a fait du bon travail.
https://docs.oracle.com/javaee/7/api/javax/persistence/NamedStoredProcedureQuery.html
https://javaee-spec.java.net/nonav/javadocs/javax/persistence/StoredProcedureQuery.html
Commentaire le plus utile
Ce serait très bien de voir ces fonctionnalités - et c'est une fonctionnalité que JOOQ possède : http://www.jooq.org/doc/3.2/manual/sql-execution/stored-procedures/