Я проводил некоторое время на этом. Моя проблема связана с возвратом доменных объектов с определенными критериями и условиями:grails findAll с условиями или executeQuery
У меня есть большой набор велосипедов. Существует возможность иметь несколько велосипедов с одинаковым размером колес. Например, я могу иметь 5 велосипедов:
owner_id | bike | wheel | price | active | toolset | forLance
_________|______|_______|_______|________|_________|__________
15459 |liner | 12 | 100 | Y | null | H
15459 |larker| 15 | 150 | Y | null | H
15459 |jefro | 21 | 225 | Y | null | H
15459 |raz | 21 | 230 | Y | null | L
15459 |jynx | 21 | 295 | Y | null | P
Мой запрос ниже извлекает все велосипеды с не-дубликатом размером колеса и низкой ценой.
MySQL запросов:
select * from bike b
where b.owner_id = 15459
and not exists(select * from bike
where wheels = b.wheels AND price < b.price
and owner_id = b.owner_id) and b.active = 'Y';
Результат даст мне строки с велосипедами: лайнер, larker и jefro.
Есть ли эквивалентный способ сделать это в grails // groovy? (Получить лайнер, larker и jefro в список объектов домена)
Я попытался использовать структуру, как:
def bikes = Bike.executeQuery(...)
or
def bike = Bike.findAll(...)
Но я не могу выполнить запрос с аналогичной структурой к Созданный мной скрипт MySQL.
Спасибо за помощь!