powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate criteria substring() function
31 сообщений из 31, показаны все 2 страниц
Hibernate criteria substring() function
    #38060103
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При выборке всех колонок таблицы с помощью критерия мне нужно обрезать тект в одной из выводимых колонок... Для этих целей в postgres есть substring()... Как реализовать это в критерии ? И как указать какие именно поля должны выбираться а какие нет ?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060118
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея в том что все поля всегда выбираются вместе. Выбирать одни поля, но не выбирать другие есть смысл только в случае BLOB. В остальных случаях это бессмысленно.
На счет функции... можно сделать sql view. Вообще желание какое-то странное. Почему бы не выбрать всё строку. Она реально большая?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060145
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Projections.sqlProjection(...)
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060191
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этой колонке содержится очень много текста, а мне нужно отобразить все эти записи и только часть текста... это чтото типа превью. Projections.sqlProjection(substring("content, 0, 10)"); - пробовал вот так - не получилось...
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060196
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://stackoverflow.com/questions/7822662/referencing-outer-criteria-query-aliases-from-within-an-sqlprojection
так нужно правильно типы прописать и алиасы
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060200
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513В этой колонке содержится очень много текста, а мне нужно отобразить все эти записи и только часть текста... это чтото типа превью. Projections.sqlProjection(substring("content, 0, 10)"); - пробовал вот так - не получилось...
SQL View, наверное, всё же, будет более оптимальным вариантов. Или вообще сделать дополнительную колонку для этого.
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060206
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, ясно, спасибо, буду пробовать
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060250
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
criteria.setProjection(Projections.sqlProjection("substring(content, 0, 10) as content", new String[]{"content"}, new Type[]{new StringType()}));



Вот так работает, но выбирает только эту колонку, а как бы так зделать, что бы выбирались все, а вот эта с substring() ?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060254
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно. Тебе лень перечислить имена колонок явно?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060269
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, лень, тем более если есть альтернатива (что я и хотел выяснить). Если нету, то ладно, перечислил вручную, работает )
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060271
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ещё @Formula поковырять, чтобы на отдельную колонку замапить. Но я не могу найти поддерживает ли она SQL для колонки.
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060275
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060290
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так это её на entity вешать нужно, а мне не всегда нужно что бы substring() срабатывало.... Появилась проблема, критерия мне вернула List<MyObject>, я смотрю его дебагером и вижу, что в листе есть все мои обьекты типа MyObject, но внутри них не конкретные названия полей, а как будто массив свойств типа [0], [1], [2] а должно быть id, name, description.. Как превисти ключи свойств обьектов к нормальному виду ?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060299
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати так случается и когда к примеру выбираешь явно все поля с помощью hql, как с этим бороться ?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060301
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513,

думаю если разворачивать дальше, то одним из свойств свойства объекта будет как раз его название
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060305
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, столько хотелок.
AliasToBeanConstructorResultTransformer
AliasToBeanConstructorResultTransformer
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060306
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Кстати так случается и когда к примеру выбираешь явно все поля с помощью hql, как с этим бороться ?
в HQL " SELECT new MyEntityBean(prop1, prop2, prop3) FROM ..."
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060312
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Так это её на entity вешать нужно, а мне не всегда нужно что бы substring() срабатывало...
Можно через наследование сделать две entity. Одну для полного объекта, вторую для укороченой выборки.
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060332
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно попробовать, но хочется добить это... В общем мне в criteria.list() возвращается колллекция Object, а мне нужно что б там была коллекция с типом MyClass
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060334
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Можно попробовать, но хочется добить это... В общем мне в criteria.list() возвращается колллекция Object, а мне нужно что б там была коллекция с типом MyClass
Вот это ты какой из всех моих ответов коментировал?
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060336
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Можно попробовать, но хочется добить это... В общем мне в criteria.list() возвращается колллекция Object, а мне нужно что б там была коллекция с типом MyClass
13557803
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060345
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не увидил.... )))) а как теперь такое же приведение в criteria реализовать ? )
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060352
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Не увидил.... )))) а как теперь такое же приведение в criteria реализовать ? )
Ты не поверишь: Criteria.setResultTransformer()
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060387
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неповерю - не работает, пробовал все варинты - в некоторых случаях пустая коллекция прилетает, в некоторых по прежнему Object, в одном случае Map<> прилетает.. и в нём почему то доступно 2 из 6 свойств....
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060400
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513неповерю - не работает, пробовал все варинты - в некоторых случаях пустая коллекция прилетает, в некоторых по прежнему Object, в одном случае Map<> прилетает.. и в нём почему то доступно 2 из 6 свойств....
Я криво скопипастил. Там два класса. Первый должен был быть AliasToBeanResultTransformer

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
List resultWithAliasedBean = s.createCriteria(Enrolment.class)
   			.createAlias("student", "st")
   			.createAlias("course", "co")
   			.setProjection( Projections.projectionList()
   					.add( Projections.property("co.description"), "courseDescription" )
   			)
   			.setResultTransformer( new AliasToBeanResultTransformer(StudentDTO.class) )
   			.list();
       StudentDTO dto = (StudentDTO)resultWithAliasedBean.get(0);
   	
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060405
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Закастились, но только почему то тепеь все поля обьектов пустые, кроме поля с substring

Фрагмент кода - перечесляю то, что нужно выбрать...
Код: sql
1.
2.
3.
4.
criteria.setProjection(Projections.projectionList()
                .add(Projections.property("id"))
                .add(Projections.property("name"))
                .add(Projections.sqlProjection("substring(content, 0, 10) as content", new String[]{"content"}, new Type[]{new StringType()}))
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060414
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL запрос в логе нормальный? Тогда ResultTransformer что-то не распознал. Я бы его подебажил.
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060421
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос нормальный, все данные возвращаются в принципе, но только в Object корректно... Может это из за того, что альяс я использовал 1 раз явно ? Название у класса подозрительное )) - AliasToBeanResultTransformer, такое ощущение, что он только альясные поля ложит в результирующий обьект ...
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060427
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Запрос нормальный, все данные возвращаются в принципе, но только в Object корректно... Может это из за того, что альяс я использовал 1 раз явно ? Название у класса подозрительное )) - AliasToBeanResultTransformer, такое ощущение, что он только альясные поля ложит в результирующий обьект ...
Там класс в 2 экрана с двумя методами. Подебаж их, посмотри чего не хватает.
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060431
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
criteria.setProjection(Projections.projectionList()
                .add(Projections.property("id"), "id")
                .add(Projections.property("name"), "name")
                .add(Projections.sqlProjection("substring(content, 0, 10) as content", new String[]{"content"}, new Type[]{new StringType()}))
...
Рейтинг: 0 / 0
Hibernate criteria substring() function
    #38060436
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Альясов не хватает там ...

Так работает ()
Код: sql
1.
2.
3.
4.
5.
6.
...
criteria.setProjection(Projections.projectionList()
                .add(Projections.property("id"), "id")
                .add(Projections.property("name"), "name")
                .add(Projections.sqlProjection("substring(content, 0, 150) as content", new String[]{"content"}, new Type[]{new StringType()}))
...



Огромное спасибо за помощ ! :)
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate criteria substring() function
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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