powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
8 сообщений из 8, страница 1 из 1
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33735782
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа!

Вопрос по ORM Hibernate 3.1.

Существует ли возможность в Criteria API получать значения элементов индексированных коллекций по индексу?

Например на HQL имеем: :"from object o where o.collection[:paramName]=:paramValue", т.е. у класса object есть поле collection которое представляет собой индексированную коллекцию, данный запрос возвращает все такие объекты класса object у которых в коллекции collection существует элемент с индексом paramName и значением paramValue

Вот очень интресно как такое на Criteria API написать. В соответстсующем документе http://www.hibernate.org/hib_docs/v3/api/org/hibernate/criterion/Restrictions.html для коллекций определены только операции size и in.

Как то можно получить значение элемента с определенным индексом???
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33737407
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё еще актуально.

Жду комментариев.

Если сформулировал не внятно дайте знать объясню получше.
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33740097
Alexey Turn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по ассоциации создается алиас и на него накладывается Restriction.
Код сейчас влом выкапывать.

что нибудь типа
Criteria c = session.createCriteria(Parent.class);
c.createAlias("children").add(Restriction.eq("name","vasya"));

Ищем всех парентов, у которых есть ребенок с именем Вася.

То?
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33741599
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не канает:

There was 1 error:
1) testPutTestTemplate(test.RequestHandlerTest)org.hibernate.MappingException: collection was not an association: tss.TestTemplate.params
at org.hibernate.type.CollectionType.getAssociatedEntityName(CollectionType.java:374)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getPathEntityName(CriteriaQueryTranslator.java:207)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.createCriteriaEntityNameMap(CriteriaQueryTranslator.java:191)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.<init>(CriteriaQueryTranslator.java:81)
at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:58)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at tss.TemplateHelper.getByParam(Unknown Source)
at test.RequestHandlerTest.testPutTestTemplate(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at test.RequestHandlerTest.main(Unknown Source)

FAILURES!!!
Tests run: 1, Failures: 0, Errors: 1
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33741871
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну то есть алиас можно добавлять только для ассоциаций. А у меня коллекия замаплена как set
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33741915
Alexey Turn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда надо смотреть в сторону слов: collection filter
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33741934
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это в сторону обычного HQL, а хочется получить результат именно на Criteria API
...
Рейтинг: 0 / 0
Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
    #33744094
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никто больше ничего не подскажет?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate 3.1. Операция получения значения элемента по индексу в Criteria API
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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