![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
wtbh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 15.5.2008 Репутация: нет Всего: нет |
Всем привет
Подскажите как можно сделать вот такое
можно ли как то получить значение поля по которому происходит сортировка? Спасибо |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20561 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Вопрос непонятен.
Выложите пример - исходные данные в виде CREATE TABLE + INSERT INTO (десяток записей), и требуемый результат запроса для этих данных с подробными пояснениями. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
wtbh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 15.5.2008 Репутация: нет Всего: нет |
select XXX , * from table1 order by column1 хочется получить вот такой результат column1, 1, 2, 3 column1, 11, 22, 33 как в select написать так что бы узнать по какому полю(полям) происходит сортировка |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20561 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Ну так это же
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
wtbh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 15.5.2008 Репутация: нет Всего: нет |
когда order by меняется динамически как узнать?
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20561 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
ГДЕ? КЕМ? Вот именно в том месте и спрашивай. Там же до кучи можешь потребовать записи информации об использованном выражении сортировки в некую переменную, которую потом подставишь как параметр в запрос вместо написанного мной литерала. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
wtbh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 15.5.2008 Репутация: нет Всего: нет |
есть hql который генерируется после чего hibernate генерирует sql. есть Вычисляемое поле @Formula сущности @Entity в котором можно написать часть полноценного sql но узнать что указано в order by можно только sql поэтому и хочется понять можно ли в select получить список полей по которым сортируется запрос.
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20561 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Для решения задачи в поставленных условиях надо перехватить поданный на SQL сервер запрос, внести в него изменения и затем выполнить. Возможно ли такое в Постгрессе - я не в курсе. Плюс надо учитывать, что Hibernate может неправильно отнестись к тому, что выходная структура возвращённого набора несколько не совпадает с ожидаемой. Скажем, в MySQL есть Query Rewrite Plugin, который в минимальных пределах позволяет вмешиваться в текст выполняемого запроса и модифицировать его... может, и для Постгресса есть нечто подобное. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15700 Регистрация: 24.3.2004 Репутация: 3 Всего: 535 |
В Hibernate есть StatementInspector который позволяет получить SQL запрос перед его выполнением, но его надо парсить. Проще через рефлексию получить значение @Formula, но опять же вопрос что делать с
? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PostgreSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |