| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JPQL оператор IN |
| Автор: drG100k 14.4.2009, 18:57 | ||||||||||
| Здравствуйте! Нужно смоделировать Прайс-лист с категориями. Категории - дерево. Аннотации и всё лишнее пропущу в коде (чтоб было поменьше) 1 Класс (Entity)
2 Класс (Entity)
И был незамысловатый запрос к базе данных в классе Product
И всё бы было хорошо, но!!! Вздумалось тут поиск производить не в конкретной категории, а во всех вложенных категориях что я сотворил: Класс (EJB)
Теперь хочется сделать запрос
И в качестве аргумента посылать результат getAllSubCategories©, но не хочет JPQL проглатывать такие весчи. Что бы такое сотворить, чтобы задачка решалась? а может и совсем другим путём пойти, но вот каким? Спасиба |
| Автор: SoulKeeper 14.4.2009, 19:49 |
| Ручками через запятую сбивать строки. |
| Автор: drG100k 14.4.2009, 20:02 | ||
ага, тоже вариант, а ещё можно послать эти все ORM и сделать всё в старом добром JDBC |
| Автор: MisterCleric 15.4.2009, 09:14 | ||||||||
| Здравствуйте всем. Стоп, ребята, а вот так
и потом так:
где ids ИДишники элементов коллекцию по выполнению
Добавлено через 1 минуту и 20 секунд
|
| Автор: drG100k 15.4.2009, 10:59 | ||||||||||
Нет такого метода в интерфейсе javax.persistence.Query Ещё я тут забыл такую Ооочень (как оказалось) важную деталь PersistentProvider = Toplink А он требует в качестве параметра к оператору IN Объект класса Category Так что от "ручками созданного" листа тоже толку мало будет НО! Даже если ему скармливаешь Такой объект, он запрос создаёт
С другой стороны в доках к EntityManager есть такой вот примерчик
а ещё в javadoc java.oracle.toplink.expressions.Expression
Тут тебе и Vector, и Object[] где-то косяк, а вот где... |