В базе данных есть хранимая процедура
CREATE DEFINER=root
@localhost
PROCEDURE totabank
()
select sum(summ) from summ_wallets
которая возвращает таблицей одну запись с суммой чисел. При помощи простой jdbc
я могу сделать
ResultSet rs = statement.executeQuery("call totalbank()");
и потом условно пробежаться по нему циклом и достать int
-овое значение как rs.getInt(1);
Подскажите, как это можно было бы сделать при помощи Hibernate
? Сёрфил интернет, рабочего примера так и не нашёл. Получалось как-то достать объект, кажется Query
, но при вызове у него метода toString()
он выдавал дефолтную toString()
-строку объекта, а мне бы хотелось достать значение числом или строкой.
// ранее получаем сессию хибернейта из фабрики сессий
org.hibernate.procedure.ProcedureCall call =
session.createStoredProcedureCall("totalbank");
org.hibernate.procedure.ProcedureOutputs callOutputs = call.getOutputs();
org.hibernate.result.Output output;
while ((output = callOutputs.getCurrent()) != null) { // проверяем наличие выходных значений
if (output.isResultSet()) { // если выходное значение результат запроса (некоторые процедуры могут возвращать количество обработанных строк, тогда вернет false)
List<Integer> result =
((org.hibernate.result.ResultSetOutput) output)
.getResultList();
// обработать результат
}
if (!callOutputs.goToNext()) // некоторые процедуры могут возвращать несколько последовательных результатов
break;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пытался связать поле одной таблицы с id другойПока не до конца понимаю как это вообще сделать
Я учусь, сделал небольшой проектИспользовал: IntelliJ IDEA 2019 Ultimate, java, jdbc, mysql, сервлеты
Нужно скрыть параметры окна (кнопки ЗАКРЫТЬ/СВЕРНУТЬ/РАЗВЕРНУТЬ) (JavaFX)