Querydsl: SQL: Unterstützung für gespeicherte Prozeduren

Erstellt am 3. Okt. 2011  ·  7Kommentare  ·  Quelle: querydsl/querydsl

Unterstützung für gespeicherte Prozeduren

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();
feature

Hilfreichster Kommentar

Wäre sehr schön, diese Funktionen zu sehen - und es ist eine Funktion, die JOOQ hat: http://www.jooq.org/doc/3.2/manual/sql-execution/stored-procedures/

Alle 7 Kommentare

Ich schließe dies vorerst, da ich keine Möglichkeit finden konnte, typsichere gespeicherte Prozeduren in Querydsl zu unterstützen. Gerne können Sie dies wieder öffnen.

Das PreparedStatement.getParameterMetaData() auf dem SP kann in JDBC abgefragt werden, um die Typen zu generieren, nicht wahr?

Aber ist dies über Datenbank-Metadaten verfügbar?

Sollte dies nicht genauso funktionieren wie Tabellen für den Parameter- und Proc-Namen?
http://www.java2s.com/Code/Java/Database-SQL-JDBC/GetStoredProcedureSignature.htm

Für die zurückgegebene Ergebnismenge der Prozedur können wir eine Bean-Klasse als . übergeben
ein Argument als Teil der Methode execute. Der Rest kommt von der db
Metadaten, nicht wahr?

Am Fr, 25.01.2013 um 14:13 Uhr, Timo Westkämper
[email protected] schrieb :

Aber ist dies über Datenbank-Metadaten verfügbar?

Eine der kniffligen Situationen kann darin bestehen, Dinge wie die In-Out-Parameter richtig zu behandeln und sie im Aufruf zu registrieren, aber all diese Informationen kommen in den Metadaten, sodass der generierte Code sie problemlos verarbeiten kann.

Wäre sehr schön, diese Funktionen zu sehen - und es ist eine Funktion, die JOOQ hat: http://www.jooq.org/doc/3.2/manual/sql-execution/stored-procedures/

Ich habe gerade die Unterstützung für gespeicherte Prozeduren für JPA 2.1 verwendet und es hat gute Arbeit geleistet.

https://docs.oracle.com/javaee/7/api/javax/persistence/NamedStoredProcedureQuery.html
https://javaee-spec.java.net/nonav/javadocs/javax/persistence/StoredProcedureQuery.html

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen