powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с хранимками...
25 сообщений из 156, страница 5 из 7
Работа с хранимками...
    #39600790
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczДурочка включил? У ТС в первом посте результаты запроса к этому типу приводятся.там не приводится к List<ResultSet>
Код: java
1.
ResultSet rs = iter.next(); тут вылет...
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600792
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяBlazkowiczДурочка включил? У ТС в первом посте результаты запроса к этому типу приводятся.там не приводится к List<ResultSet>
Код: java
1.
ResultSet rs = iter.next(); тут вылет...



Да. Метод JPA возвращает List, который ты успешно приводишь к List<ResultSet>, игнорирую предупреждения компилятора
https://docs.oracle.com/javaee/6/api/javax/persistence/Query.html#getResultList()
И ожидаемо выхватываешь ClassCastException, который называешь "вылет" и говоришь что "там не приводится".
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600793
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяBasil A. SidorovТогда должны бы знать, что основную стоимость составляет обеспечение отказоустойчивости, а совсем не вычислительной мощности.одно дело один сервер , другое масштабирование для обеспечения возможности обслуживать нужное количество клиентов,чем больше масштабирование тем больше затраты на отказоустойчивость, тем больше вероятность отказов.Вот, кстати, характерный пример - насколько трудно с вами общаться.

Когда говорят об отказоустойчивом сервере то, в общепринятом понимании, это будут средства, обеспечивающие непрерывность работы одиночной железки.
Дисковые корзины с горячей заменой, резервные блоки питания, резервные блоки питания с горячей заменой и так далее и тому подобное.
Вышеперечисленное - отдельные фишки, каждая из которых стОит отдельных денег, которые позволяют гарантировать отсутствие как запланированных выключений или перегрузок, так и незапланированных сбоев.

А у вас опять "собственное видение" - кластер. Из (не)отказоустойчивых железок.

P.S. А делают (и покупают) отказоустойчивое железо для того, чтобы не зависеть ни от квалификации IT-персонала, ни от квалификации разработчика.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600795
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
))).
Увидим код вади на бинах, может тоже подумаем что из гей клуба.
Но рабочего кода то нет.
В чем вопрос топика тоже непонятно.
Наверно обращает в свою веру и ориентацию.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600797
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя...
посмотри внимательно на тот код , что по ссылке - там нет результсетов

Все там есть
Ну и непонятно, чем же "List<ResultSet> такой желанный" (C)

вадя ResultSet rs = iter.next(); тут вылет...

Вылет это что?
1) Компьютер перезагрузился без каких либо ошибок
2) "Синий экран смерти" Windows
3) Ошибка Java. КАКАЯ ?
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600801
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЗато есть PreparedStatement, внимательный ты наш.это обыкновенный jdbs
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600803
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevВылет это что?
1) Компьютер перезагрузился без каких либо ошибок
2) "Синий экран смерти" Windows
3) Ошибка Java. КАКАЯ ?на пятой странице прочитали код из первого поста...
ради этого повторю выполнение этого кода
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600804
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczвадяпропущено...
там не приводится к List<ResultSet>
Код: java
1.
ResultSet rs = iter.next(); тут вылет...



Да. Метод JPA возвращает List, который ты успешно приводишь к List<ResultSet>, игнорирую предупреждения компилятора
https://docs.oracle.com/javaee/6/api/javax/persistence/Query.html#getResultList()
И ожидаемо выхватываешь ClassCastException, который называешь "вылет" и говоришь что "там не приводится".
1) +++

До ClassCastException я не додумался.

По Инетам, там еще можно выхватить "IllegalArgumentException...not known to support REF_CURSOR parameters"

а с учетом, что в Инетах рекомендуют рефкурсор возвращать первым параметром, а у Вади чистый вызов ф-ции - все совсем запущено )))

2) Если уж так хочется ResultSet, то совершенно непонятно. что мешает из Hibernate получить JDBC Connection и продолжать работать через JDBC.

Лично мы так с Hibernate и поступали )))
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600807
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevа с учетом, что в Инетах рекомендуют рефкурсор возвращать первым параметром, а у Вади чистый вызов ф-ции - все совсем запущено )))

а нет, беру свои слова обратно. Как раз для MySQL вроде так и нужно
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600808
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЕсли уж так хочется ResultSet, т
Он хочет несколько курсоров из одной хранимки.
А заодно сказать что ejb это Г.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600827
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev2) Если уж так хочется ResultSet, то совершенно непонятно. что мешает из Hibernate получить JDBC Connection и продолжать работать через JDBC.
это у меня и было реализовано и работало без проблем, только jdbc бралось не из хибера.

Petro123Он хочет несколько курсоров из одной хранимкида это бывает полезно, и довольно часто.
Petro123А заодно сказать что ejb это Г.я только повторил
Leonid Kudryavtsevчто мешает из Hibernate получить JDBC Connectionкак это получить?
у меня сейчас получается два пула подключения к базе одно с использованием библиотеки котяры, это требует затрат 3-5 мс. будет ли это время меньше если будет использовано jdbc из хибера?
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600830
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Зачем jdbc брать из хибера или из EJB?
Зачем тему завел?
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600831
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас проверил такой код
в классе

UserFilter implements Filter {
есть метод
и в нём код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        List<ResultSet> lt = em.createNativeQuery("{call page()}").getResultList(); тут ошибка
        for (Iterator<ResultSet> iter = lt.iterator(); iter.hasNext();) {
            ResultSet rss = iter.next();
            try {
                rss.next();
                System.out.println("---------------------ttt "+rss.getString("d"));
            } catch (SQLException ex) {
                Logger.getLogger(UserFilter.class.getName()).log(Level.SEVERE, null, ex);
            }

        }



UT005023: Exception handling request to /GID/page0.jsp: java.lang.NullPointerException
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600832
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Зачем jdbc брать из хибера или из EJB?мне главное получить результсет
как вариант было предложено
Leonid Kudryavtsev2) Если уж так хочется ResultSet, то совершенно непонятно. что мешает из Hibernate получить JDBC Connection и продолжать работать через JDBC.
варианты принимаются любые
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600846
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадямне главное получить результсет
туго вопрос доходит?
У тебя есть уже рабочий код.
Зачем тебе ejb или em?
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600871
Фотография Пылинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяварианты принимаются любые
я с утра зашел, подумал что я один не понял вообще в чем тут проблема.

1) чем @NamedNativeQuery для чистого sql и из честного пула для EJB не устраивает?
2) на кой ВТОРОЙ пул открывать? Это всё равно что мину подложить. Подорвется обязательно.
Код: java
1.
Session session = entityManager.unwrap(Session.class)


далее стандартно.

И еще - подумай о тех, кто будет потом твои процедуры изводить и переписывать всё на JAVA - задокументируй что ты ХОТЕЛ сделать-получить.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600885
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz Ни дескриптора хранимки , ни объяснения что за List<ResultSet> такой желанный я не вижувадя
Код: java
1.
List<ResultSet> lt = em.createNativeQuery("{call page()}").getResultList(); тут ошибка

нам нужно понять, что именно возвращает процедура page() (а может она вообще ничего не возвращает О_о)
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600886
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадямне главное получить результсет
туго вопрос доходит?
У тебя есть уже рабочий код.
Зачем тебе ejb или em?
у меня есть вариант с чистым jdbc, рабочий. с открытием и закрытием подключения в базе.
есть вариант с использованием либы котяры для пула подключений.
для ejb хочется использовать пул от ejb.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600887
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanBlazkowicz Ни дескриптора хранимки , ни объяснения что за List<ResultSet> такой желанный я не вижувадя
Код: java
1.
List<ResultSet> lt = em.createNativeQuery("{call page()}").getResultList(); тут ошибка

нам нужно понять, что именно возвращает процедура page() (а может она вообще ничего не возвращает О_о)
процедура возвращает две записи по два поля.
select 'ee' as d, 66 as n
union all
select 'ff', 55
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600890
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пылинкавадяварианты принимаются любые
я с утра зашел, подумал что я один не понял вообще в чем тут проблема.

1) чем @NamedNativeQuery для чистого sql и из честного пула для EJB не устраивает?
2) на кой ВТОРОЙ пул открывать? Это всё равно что мину подложить. Подорвется обязательно.
Код: java
1.
Session session = entityManager.unwrap(Session.class)


далее стандартно.

И еще - подумай о тех, кто будет потом твои процедуры изводить и переписывать всё на JAVA - задокументируй что ты ХОТЕЛ сделать-получить.
1)наверно должен устраивать, только у меня не получается , пока никто не сказал как сделать
2)второй пул как заглушка, временно.

вот как это «далее стандартно» я и хочу узнать уже 5 страниц.

изводить процедуры? чтоб сделать тормозной вариант? ты это серьёзно?
я специально провел сравнение — мой вариант от отправки с клиента запроса до окончания построения по данным из ответа на клиенте 17мс
с использованием «чистого ejb» только на построение json уходит 15мс, а на все 170мс
это сравнивалось для построения одной линии...
есть смысл рефакторить?
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600894
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяпроцедура возвращает две записи по два поля.
select 'ee' as d, 66 as n
union all
select 'ff', 55ну, вот теперь стало намного понятней. Возможное решение:
Код: java
1.
List<MyPojo> lt = em.createNativeQuery("{call page()}", MyPojo.class).getResultList();

осталось определить класс MyPojo для мэппинга возвращаемого результата:
Код: java
1.
2.
3.
4.
5.
public class MyPojo {
    private String d;
    private Integer n;
    ...
}

и не надо возиться с ResultSet -ами.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600907
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanвадяпроцедура возвращает две записи по два поля.
select 'ee' as d, 66 as n
union all
select 'ff', 55ну, вот теперь стало намного понятней. Возможное решение:
Код: java
1.
List<MyPojo> lt = em.createNativeQuery("{call page()}", MyPojo.class).getResultList();

осталось определить класс MyPojo для мэппинга возвращаемого результата:
Код: java
1.
2.
3.
4.
5.
public class MyPojo {
    private String d;
    private Integer n;
    ...
}

и не надо возиться с ResultSet -ами.
т.е. для каждой хранимки надо создавать свой класс. надо следить за прядком возвращаемых из хранимки полей и их порядком в классе?
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600908
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanне надо возиться с ResultSet -ами.для вади это смысл всей его жизни.
Не было бы их, не было бы 5 или 50 страниц.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600909
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадят.е. для каждой хранимки надо создавать свой класс. надо следить за прядком возвращаемых из хранимки полей и их порядком в классе?
Маппинг, ОРМ, хибер это прокладки. Изыди сатана.
...
Рейтинг: 0 / 0
Работа с хранимками...
    #39600910
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадят.е. для каждой хранимки надо создавать свой класс. надо следить за прядком возвращаемых из хранимки полей и их порядком в классе?да, если используется контракт; и это лучше, чем, например, такое:
Код: java
1.
List<Object[]> lt = em.createNativeQuery("{call page()}").getResultList();

этот вариант хоть и универсальный, но назвать его читабельным или "понимабельным" трудно
...
Рейтинг: 0 / 0
25 сообщений из 156, страница 5 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с хранимками...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]