Если вы непреклонны в использовании пользовательского SQL-запроса вместо какого-либо динамического поиска Grails, вы можете использовать следующий код:
def session = sessionFactory.getCurrentSession() // a reference to the sessionFactory is injected in all controllers and services that have a sessionFactory variable defined
Query query = session.createSQLQuery("SELECT p.*,pd.*
FROM products p, products_description pd
WHERE p.products_id=pd.products_id
ORDER BY p.products_date_added DESC");
def result = query.list()
Вам потребуется добавить переменную с именем sessionFactory в свой контроллер.Примерно так:
class ProductsController = {
def sessionFactory
Список результатов будет списком списков.Каждый элемент основного списка будет список размером 2 с первым элементом в качестве продукта, а второй в качестве описания продукта.