title: How to prevent Hibernate formula annotation of adding table name before reserved words?
body: <p>I have my class mapped as follow:</p>
  
  <pre><code>@Entity
  public class Order {
      private String formulatedProp;
  
      @Formula(value="(SELECT ',' + coalesce(a.description,a.code) 
                      FROM another_table a 
                      WHERE a.order_id=id FOR XML PATH(''))")
      public String getFormulatedProp() {
          return formulatedProp;
      }
  }
  </code></pre>
  
  <p>The formula's SQL query is fine when executing on its own. But when Hibernate generates the query to fetch an Order, it appends table's alias to <code>FOR</code> and <code>XML</code> words. So it tries to execute a query like </p>
  
  <pre><code>SELECT ',' + coalesce(a.description,a.code) 
      FROM another_table a 
      WHERE a.order_id=order0_.id order0_.FOR order0_.XML PATH('')
  </code></pre>
  
  <p>Which is obviously wrong. How can I make this work?<br/>
  Environment: <strong>Hibernate 3.6</strong>, <strong>SQL-Server 2008</strong></p>
  
  <p><em>P.S. I know that a custom dialect can be a solution, but I prefer not to go that direction.</em></p>