tags:

views:

117

answers:

1
+1  A: 

You don't define an ordering among your Account instances. The mapping directive is only applicable to GORM mapped classes (IOW: "domain objects"), and will only be used when loading instances of your class from the database AFAIK.

However, you are appending the objects to a plain List, which does not know about GORM properties. In order to sort lists of Account instances reliably in such a context, you will have to specify an explicit ordering, for example:

class Account implements Comparable {

   ...
   def int compareTo(rhs) {
       long onum = rhs.number;
       return (onum > number)? -1 : ((onum < number)? 1 : 0);
   }
   ...
}

This article has more information about the topic. As to why Groovy sorts the list differently on multiple calls to list.sort: well, I have no idea...

Dirk