title: When to use transactions in Spring with Hibernate?
body: <p>Upgrading my project I'm thinking here about transactions.<br>
  Well, the thing is I'm not quite sure <strong>when should I use the transactions</strong> for my Hibernate queries in Spring.<br>
  Not that I completely don't understand what transactions are, I guess I do, but<br>
  <strong>Do I need to use transactions for a <code>get*</code> type queries just setting the <code>read-only</code> attribute?</strong> </p>
  
  <pre><code>&lt;tx:advice id="txAdvice" transaction-manager="transactionManager"&gt;
      &lt;tx:attributes&gt;
          &lt;!-- all methods starting with 'get' are read-only --&gt;
          &lt;tx:method name="get*" read-only="true" /&gt;
          &lt;!-- other methods use the default transaction settings --&gt;
          &lt;tx:method name="*" /&gt;
      &lt;/tx:attributes&gt;
  &lt;/tx:advice&gt;
  </code></pre>
  
  <p>Is that efficient for <code>get*</code> queries?<br>
  Because, as far I think, using transactions should be done like for <code>CREATE</code>, <code>UPDATE</code>, <code>DELETE</code> and such queries.<br>
  Am I missing something here?</p>