title: Grails sortableColumn with multiple fields
body: <p>Suppose I have two domain objects, Document and Author</p>
  
  <pre><code>Class Document {
      Author author
      String title
  }
  
  Class Author {
  
      String lastName
      String firstName
  
      String toString() {
  
          return lastName + ", " + firstName
      }
  }
  </code></pre>
  
  <p>The view list.gsp looks something like this:</p>
  
  <pre><code>&lt;g:sortableColumn property="title" title=... /&gt;
  &lt;g:sortableCOlumn property="author" title=... /&gt;
  
  ....
  
  &lt;td&gt;${fieldValue(bean: documentInstance, field: "author"}&gt;&lt;/td&gt;
  &lt;td&gt;${fieldValue(bean: documentInstance, field: "title"}&gt;&lt;/td&gt;
  </code></pre>
  
  <p>The displayed values in the table work as intended - the table row will show the author as (lastName, firstName) next to documentInstance.title.</p>
  
  <p>However, clicking the Author column header to sort causes "documents" to be sorted by author.id .</p>
  
  <p>What is the most expedient way to get sorting by author.toString() or "author.lastName, author.firstName" instead of sorting by author.id?</p>
  
  <p>I'd prefer to avoid falling back to .withCriteria{} if possible - I have four different columns that need this functionality, and it seems like that would get messy.</p>