What is the best way to query for something without using GORM in grails?
I have query that doesn\'t seem to fit in the GORM model, the query has a subquery
In a service or controller, you can add a dependency injection for the dataSource
bean and use groovy.sql.Sql or JDBC directly if you're a masochist.
import groovy.sql.Sql
class DataService {
def dataSource
void runQuery(...) {
def sql = new Sql(dataSource)
sql.eachRow('select * from foo') { row ->
...
}
}
}
In the moste cases I use criteria queries.
def c = Account.createCriteria()
def results = c {
between("balance", 500, 1000)
eq("branch", "London")
or {
like("holderFirstName", "Fred%")
like("holderFirstName", "Barney%")
}
maxResults(10)
order("holderLastName", "desc")
}