Suporte de procedimento armazenado
Pseudo-código
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();
Fechando isso por enquanto, já que não consegui encontrar uma maneira de fornecer suporte a procedimentos armazenados typesafe no Querydsl. Sinta-se à vontade para reabrir isso.
O PreparedStatement.getParameterMetaData () no SP pode ser consultado no JDBC para gerar os tipos, não é?
Mas isso está disponível por meio de metadados de banco de dados?
Isso não deveria funcionar da mesma maneira que as tabelas para o parâmetro e o nome do proc?
http://www.java2s.com/Code/Java/Database-SQL-JDBC/GetStoredProcedureSignature.htm
Para o conjunto de resultados retornado do produto, podemos passar uma classe de bean como
um argumento como parte do método execute. O resto vem todo do banco de dados
metadados, não é?
Na sexta-feira, 25 de janeiro de 2013 às 14h13, Timo Westkämper
notificaçõ[email protected] :
Mas isso está disponível por meio de metadados de banco de dados?
Uma das situações complicadas pode ser lidar adequadamente com coisas como os parâmetros de entrada e saída e registrá-los na chamada, mas todas essas informações vêm nos metadados, então o código gerado deve ser capaz de lidar com isso facilmente.
Seria muito bom ver esses recursos - e é um recurso que o JOOQ tem: http://www.jooq.org/doc/3.2/manual/sql-execution/stored-procedures/
Acabei de usar o suporte a procedimento armazenado para JPA 2.1 e fez um bom trabalho.
https://docs.oracle.com/javaee/7/api/javax/persistence/NamedStoredProcedureQuery.html
https://javaee-spec.java.net/nonav/javadocs/javax/persistence/StoredProcedureQuery.html
Comentários muito úteis
Seria muito bom ver esses recursos - e é um recurso que o JOOQ tem: http://www.jooq.org/doc/3.2/manual/sql-execution/stored-procedures/