title: how to sort groovy list values based on some criteria
body: <p>I have one scenario to sort the values based domain class property. This property may acept all numeric and alphanumeric values in the format XXX-1.</p>
  
  <pre><code> def res= Book.listOrderByName()
  </code></pre>
  
  <p>or</p>
  
  <pre><code> def res = Book.findAll("from Book order by name")
  </code></pre>
  
  <p>Giving the same result and result is displaying first numbers latter alphanumeric values.
  My problem is :
  these values are sorted before -.
  for example i have AB-1,AB-2,...AB-12.</p>
  
  <p>The result is displayed as AB-1,AB-10.AB-11,AB-2,AB-3,..AB-9</p>
  
  <p>I have result like:</p>
  
  <pre><code>  [18001,18002,2,300,3901,42,9,AB-1,AB-10,AB-2,AB-21,AB-9]
  </code></pre>
  
  <p>It should display the value as:</p>
  
  <pre><code>  [2,9,42,300,3901,18001,18002,AB-1,AB-2,AB-9,AB-10,AB-21]
  </code></pre>