Я делаю некоторые предположения, чтобы создать объектную модель, которая соответствует описанной вами модели персистентности.
class Customer {
String customerName
String contactName
String country
static mapping = {
table 'Customers'
version false
id column: 'CustomerID'
customerName column: 'CustomerName'
contactName column: 'ContactName'
country column: 'Country'
}
}
class Order {
Customer customer
Date orderDate
static mapping = {
table 'Orders'
version false
id column: 'OrderID'
customer column: 'CustomerID'
orderDate column: 'OrderDate'
}
}
Выполните запрос следующим образом:
Order.findAll {
createAlias 'customer', 'cust'
projections {
property 'id'
property 'orderDate'
property 'cust.customerName'
}
}
Это приведет к SQL следующим образом:
select this_.OrderID as y0_, this_.OrderDate as y1_, cust1_.CustomerName as y2_ from Orders this_ inner join Customers cust1_ on this_.CustomerID=cust1_.CustomerID