Я подумал об этом немного больше, и решение могло бы состоять в том, чтобы атаковать его по-другому. Вместо того, чтобы пытаться выполнить toDateTime (зона) на уровне гибернации, сделайте это на более высоком уровне, то есть при создании критериев поиска начала-> конца;
DateTimeZone toZone = DateTimeZone.forID("Europe/London");
DateTime now = new DateTime()
DateTime today = new DateTime(now.year, now.monthOfYear, now.dayOfMonth, 0, 0, 0, 0)
DateTime yesterday = today.minusDays(1)
def queryStr = "from JODATesting j where j.thedate > :date1 and j.thedate < :date2"
for (JODATesting joda: JODATesting.executeQuery(queryStr, [date1: yesterday, date2: today]) ) {
println("##### Joda"+joda.id +"=" +joda.thedate.toDateTime(toZone));
}