Я не уверен, как это сделать с запросом критерия, но в HQL это будет
String aName = A.executeQuery(
'select c.b.a.aName from C c where c.d = :d',
[d: d])[0]
но вы упустили много информации, так что это основано на предположении, что у вас есть эти классы домена (вы пропустили класс D и отображения):
class A {
String aName
BigDecimal aXid
}
class B {
A a
BigDecimal bXid
static mapping = {
a column: 'A_XID'
}
}
class C {
D d
B b
static mapping = {
b column: 'B_XID'
d column: 'D_XID'
}
}
class D {
String someProperty
}