Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / HQL как выбрать только один столбец / 18 сообщений из 18, страница 1 из 1
19.04.2012, 00:30:15
    #37760222
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HQL как выбрать только один столбец
Как-то ненахожу как можно при помощи HQL получить не сам объект, а только список в котором по элементы это значения атрибутов от каждого объекта.

Т.е. выбрать только один столбец
...
Рейтинг: 0 / 0
19.04.2012, 10:01:10
    #37760481
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HQL как выбрать только один столбец
Что-то типа
select c.color from cats c
...
Рейтинг: 0 / 0
19.04.2012, 13:34:05
    #37760906
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HQL как выбрать только один столбец
C HQL это не работает.
Хотя может с ним вообще такое не делается......
...
Рейтинг: 0 / 0
19.04.2012, 13:43:52
    #37760938
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HQL как выбрать только один столбец
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
19.04.2012, 13:53:29
    #37760963
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HQL как выбрать только один столбец
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
19.04.2012, 14:02:09
    #37760982
Michael Ponomarev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HQL как выбрать только один столбец
NixicBlazkowiczИ что мы видим?

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

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

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


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

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

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

То что?

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

То что?


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

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

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


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