Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как реализовать запрос на основании другого запроса в Hibernate? / 20 сообщений из 20, страница 1 из 1
27.07.2012, 16:02:14
    #37895670
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Допустим в FoxPro было такое понятие как курсор. Я делаю запрос и результат запроса находится в некой виртуальной табличке с которой я могу делать джоины следующих своих запросов. Аналогичное было в SyBase и MSSQL непосредственно в хранимых процедурах можно было создавать виртуальную табличку # которую потом удалять по окончанию с ней работы.

Как подобное реализовать в Hibernate? Мне нужно несколько запросов сделать и заджоинить их потом в другом запросе. Только не предлогайте пожалуйста варианты с вложенными подзапросами и т.д. интересует именно то, что я описал.
...
Рейтинг: 0 / 0
27.07.2012, 16:24:26
    #37895734
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
native sql. Стандартных средств, думаю, нет.
...
Рейтинг: 0 / 0
27.07.2012, 16:24:48
    #37895735
Niky4000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Никак.
Дело в том что то, что было описано - это какие-то дополнительные microsoft'ские приблуды, которые, видимо, за счёт каких-то дополнительных модулей позволяют делать select'ы к некой структуре памяти, которую они называют курсором.
А в рузультате HQL возвразается объект - тоже структура в памяти, но только select'ы к ней уже делать нельзя.
...
Рейтинг: 0 / 0
27.07.2012, 16:27:15
    #37895740
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Niky4000Дело в том что то, что было описано - это какие-то дополнительные microsoft'ские приблуды, которые, видимо, за счёт каких-то дополнительных модулей позволяют делать select'ы к некой структуре памяти, которую они называют курсором.

Временные таблицы и курсоры это не одно и то же. И имеются во всех нормальных базах.
...
Рейтинг: 0 / 0
27.07.2012, 16:40:59
    #37895771
Niky4000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Временные таблицы и курсоры это не одно и то же. И имеются во всех нормальных базах.
Имеется в виду, что программа, выполняя некий HQL запрос, и получив в результате некий объект, может или нет делать select'ы к этому объекту.
Ответ: нет.
...
Рейтинг: 0 / 0
27.07.2012, 16:44:34
    #37895778
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Niky4000Временные таблицы и курсоры это не одно и то же. И имеются во всех нормальных базах.
Имеется в виду, что программа, выполняя некий HQL запрос, и получив в результате некий объект, может или нет делать select'ы к этому объекту.
Ответ: нет.
Я бы не был так категоричен. HQL-ем можно наполнить временную таблицу. Но вычитывать из неё, придется нативным запросом. Хотя можно и что-нибудь поизобретать, чтобы HQL прикрутить тоже.
...
Рейтинг: 0 / 0
27.07.2012, 16:51:07
    #37895789
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
BlazkowiczНо вычитывать из неё, придется нативным запросом
почему? разве извне можно отличить временную глобальную таблицу от простой, ровно как и вьюху?
...
Рейтинг: 0 / 0
27.07.2012, 16:51:08
    #37895790
Niky4000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Я бы не был так категоричен. HQL-ем можно наполнить временную таблицу. Но вычитывать из неё, придется нативным запросом. Хотя можно и что-нибудь поизобретать, чтобы HQL прикрутить тоже.
Ну, это да, но это уже через СУБД всё работать будет.
Просто во всякой microsoft'ской приблуде оно не через СУБД, а там есть табличка в памяти, именуемая курсором и к этому курсору без всякой СУБД можно select написать. Но это всё за счёт каких-то библиотек делается, видимо, которые интерпретируют select'ы и преобразуют их в команды выборки - по сути свой мини sql-сервер.
...
Рейтинг: 0 / 0
27.07.2012, 17:22:29
    #37895845
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
chpashaпочему? разве извне можно отличить временную глобальную таблицу от простой, ровно как и вьюху?
Потому что имя таблцицы жестко прибито к маппингу. Хотя можно попробовать замапить на две таблицы - постоянную и временную.
...
Рейтинг: 0 / 0
27.07.2012, 17:25:49
    #37895856
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Ну вообще как обычно выкручиваются в джаве, когда надо сделать 2 запроса и потом третий с джоинами к результатам этих двух? Ведь не всегда в запросе одна(две) табличка с условием. Может же быть n табличек и я разбиваю здоровый запрос на несколько мелких чтоб ускорить выборку или если мне нужны промежуточные данные для дальнейшей работы. Должен же быть стандартный выход из этого положения. Или делать в БД вьюхи и к ним обращаться? .. или хранимки опять таки.
...
Рейтинг: 0 / 0
27.07.2012, 17:29:13
    #37895864
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Подзапросы и вьюхи будут работать быстрее чем выборка некого курсора и запрос по нему. В чем проблема сделать на подзапросах? Единственное, что SQL может сильно разрастись в некоторых задачах. Тогда лучше перейти на хранимку\вьюху\функцию, чтобы пере-использовать SQL.
...
Рейтинг: 0 / 0
27.07.2012, 17:29:52
    #37895867
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
BlazkowiczПодзапросы и вьюхи будут работать быстрее чем выборка некого курсора и запрос по нему. В чем проблема сделать на подзапросах? Единственное, что SQL может сильно разрастись в некоторых задачах. Тогда лучше перейти на хранимку\вьюху\функцию, чтобы пере-использовать SQL.
И после этого всего надо ещё спросить себя: "а по назначению ли я использую ORM?"
...
Рейтинг: 0 / 0
27.07.2012, 18:44:57
    #37895974
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Это назначение мне не нравится. Не нравится как работает и много чего не нравится в нем. Например не нравится 100500 мелких запросов, когда проще сделать один(два) нормальный свой в нативе.
...
Рейтинг: 0 / 0
27.07.2012, 18:51:10
    #37895987
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
jabНапример не нравится 100500 мелких запросов
Умеючи и член сломать можно.
...
Рейтинг: 0 / 0
27.07.2012, 20:01:23
    #37896068
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
jabЭто назначение мне не нравится. Не нравится как работает и много чего не нравится в нем. Например не нравится 100500 мелких запросов, когда проще сделать один(два) нормальный свой в нативе.
Чего? Ну, а зачем тогда используете?
...
Рейтинг: 0 / 0
27.07.2012, 21:46:05
    #37896122
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
> Как подобное реализовать в Hibernate?

Нет, нет аналогов.

Мне нужно несколько запросов сделать и
> заджоинить их потом в другом запросе. Только не предлогайте пожалуйста варианты
> с вложенными подзапросами и т.д. интересует именно то, что я описал.

Так задJOIN-нь просто таблицы, напиши запрос, а потом из
запроса создай коллекцию объектов.
hiber позволяет просто из запроса создавать объекты.
Главное, чтобы там были все нужные тебе поля.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.07.2012, 21:47:15
    #37896124
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
> Дело в том что то, что было описано - это какие-то дополнительные microsoft'ские
> приблуды, которые, видимо, за счёт каких-то дополнительных модулей позволяют
> делать select'ы к некой структуре памяти, которую они называют курсором.

Курсор в понятии FoxPro -- это просто таблица с результатом. Временная,
самоудаляющаяся.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.07.2012, 22:29:33
    #37896151
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
jabЭто назначение мне не нравится. Не нравится как работает и много чего не нравится в нем. Например не нравится 100500 мелких запросов, когда проще сделать один(два) нормальный свой в нативе.
ОРМ предназначен для учётки-ИС. Т.е. для CRUD - запросов. Это как раз 1000 мелких ))
...
Рейтинг: 0 / 0
28.07.2012, 15:31:20
    #37896402
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
chpashajabНапример не нравится 100500 мелких запросов
Умеючи и член сломать можно.
+1
...
Рейтинг: 0 / 0
29.07.2012, 00:33:21
    #37896625
ResidentR6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как реализовать запрос на основании другого запроса в Hibernate?
Hibernate призван быть полуфабрикатом между прогером и SQL.

Фактически Вы просите сделать из омлета яйца.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как реализовать запрос на основании другого запроса в Hibernate? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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