powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / HQL как выбрать только один столбец
18 сообщений из 18, страница 1 из 1
HQL как выбрать только один столбец
    #37760222
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то ненахожу как можно при помощи HQL получить не сам объект, а только список в котором по элементы это значения атрибутов от каждого объекта.

Т.е. выбрать только один столбец
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760481
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то типа
select c.color from cats c
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760906
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C HQL это не работает.
Хотя может с ним вообще такое не делается......
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760938
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoderC HQL это не работает.
Если у вас что-то не работает. Это не значит что оно вообще не работает. Возможно, у вас оно не работает по какой-то причине. И вам стоит разобраться в этой причине.
Открываем мануал.
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html
И что мы видим?

RTFMQueries can return properties of any value type including properties of component type:

select cat.name from DomesticCat cat
where cat.name like 'fri%'

select cust.name.firstName from Customer as cust
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760963
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczИ что мы видим?

RTFMQueries can return properties of any value type including properties of component type:

select cat.name from DomesticCat cat
where cat.name like 'fri%'

select cust.name.firstName from Customer as cust
А вот он, мне кажется, один фиг тащит весь объект своим сгенерированным запросом.
Для одно параметра, наверное (никогда их еще не использовал), нужно использовать нативный запрос.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760982
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicBlazkowiczИ что мы видим?

пропущено...

А вот он, мне кажется, один фиг тащит весь объект своим сгенерированным запросом.
Для одно параметра, наверное (никогда их еще не использовал), нужно использовать нативный запрос.
Парни вы что, одной рукой крестимся, другой RTFM. HQL там одна небольшая глава

Код: java
1.
select c.color, c.tailSize, c.eyeColor from cats c


вернет вам Object[]
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760983
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Ponomarev,

ну или List<Object[]>
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37760994
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicА вот он, мне кажется, один фиг тащит весь объект своим сгенерированным запросом.
Для одно параметра, наверное (никогда их еще не использовал), нужно использовать нативный запрос.
Во-первых "кажется" и "видел в sql логе" это не одно и тоже.
Во-вторых - ширина запроса вообще никак не оказывает влияния на производительность. Хоть 10 колонок, хоть одну, разницы никакой. Блобы - отдельный вопрос.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761013
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczNixicА вот он, мне кажется, один фиг тащит весь объект своим сгенерированным запросом.
Для одно параметра, наверное (никогда их еще не использовал), нужно использовать нативный запрос.
Во-первых "кажется" и "видел в sql логе" это не одно и тоже.
Во-вторых - ширина запроса вообще никак не оказывает влияния на производительность. Хоть 10 колонок, хоть одну, разницы никакой. Блобы - отдельный вопрос.
Согласен (слово кажется я не просто так вписал), кстати, на счет ширины запроса, я этот вопрос уже сам поднимал, но забыл/забил на него, так как выяснилось что однофигственно оно.
Если HQL тянет объекты, а объект тянется "широким" запросом, и на производительность ширина никак не влияет, то получается вообще нет необходимости заморачиваться на том, чтобы вытаскивать из БД только свойства объекта.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761021
ccoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает на самом деле (с HQL)
у меня SELECT не хватало.
И при этом даже с DISTINCT, хотя про него пишут что он не поддерживается в HQL
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761023
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня ощущение, что задача - вытащить одно лишь поле, это попытка не применять FetchType.LAZY и не получать при этом огромные портянки дополнительных запросов, от подгружаемых одновременно с "родительским" объектом объектов.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761055
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoderРаботает на самом деле (с HQL)
у меня SELECT не хватало.
И при этом даже с DISTINCT, хотя про него пишут что он не поддерживается в HQL
"Пишут", "кажется"
RTFM
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761063
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixicто получается вообще нет необходимости заморачиваться на том, чтобы вытаскивать из БД только свойства объекта.
Для подзапросов, например. Я не знаю. Мало ли какие причины у автора.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761068
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ccoderИ при этом даже с DISTINCT, хотя про него пишут что он не поддерживается в HQL
Где пишут? Это он может в подзапросах только не работает?
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761109
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Экономия на спичках
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761221
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Экономия на спичках

На таком запросе да, а если он вложенный и вне его куча джойнов и юнионов?
К тому же касается Хибернейта - вытягивание отдельных полей, а не всего объекта очень благоприятно сказывается на производительности, ибо не используется кэш, конструирование объектов и т.д и т.п.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761233
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никНа таком запросе да, а если он вложенный и вне его куча джойнов и юнионов?

То что?

забыл никК тому же касается Хибернейта - вытягивание отдельных полей, а не всего объекта очень благоприятно сказывается на производительности, ибо не используется кэш, конструирование объектов и т.д и т.п.
Является ли плюсом то что запрос летит мима кэша, это ещё вопрос.
...
Рейтинг: 0 / 0
HQL как выбрать только один столбец
    #37761268
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczзабыл никНа таком запросе да, а если он вложенный и вне его куча джойнов и юнионов?

То что?


Ну как что? Ресурсы памяти и процессорного времени то небесконечны.

забыл никК тому же касается Хибернейта - вытягивание отдельных полей, а не всего объекта очень благоприятно сказывается на производительности, ибо не используется кэш, конструирование объектов и т.д и т.п.
Является ли плюсом то что запрос летит мима кэша, это ещё вопрос.[/quot]

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


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