| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Сравнение коллекций в Hibernate |
| Автор: ShamanTrirukiy 16.4.2007, 15:57 | ||||||
| Драсьте всем. Столкнулся с проблемой, возникающей при попытке сравнения коллекций в запросе. Убедительная просьба не посылать сразу же в ФАК - я его уже вдоль и поперёк перечитал. Одна коллекция - значение поля класса, вторую устанавливаю в query при помощи setParameterList(). Попробовал сравнивать при помощи "=" (думал, по хэшу сравнит) - не получилось. Вот та часть запроса, которую я использовал для сравнения:
В результате получаю
Посмотрел sql hibernate'a - в строке запроса получаю
С вопросом всё ясно - Hibernate "прячет" установленные данные. Но вот что значит абракадабра и почему в запросе просто "." ??? |
| Автор: ShamanTrirukiy 17.4.2007, 18:24 | ||||||||
| В общем, решил эту проблему следующим образом: Добавил поле
И метод
который вызывается при сборке текста запроса а так же код
который вызывается при установке параметров в query. Пример обращения к методу
Как-то это не очень красиво, но лучшего ничего не придумал. |
| Автор: ShamanTrirukiy 18.4.2007, 19:46 | ||||||
Чё-то я тут не то запостил (нечто среднее между первой и последней версией). Может кому-то понадобится, так что исправляю:
и
и
соответственно. Так вроде как красивее. |