title: What does @Transactional do?
body: <p>I know this is probably  a duplicate and, ironically, before I started reading here and there about it, I <strong>thought</strong> I knew what it was  for (<strong>needless to say</strong> but I'll still say it, please correct me where I am wrong):  </p>
  
  <p>It relieves the programmer of having to use <code>transaction.begin()</code> and <code>commit()</code>.<br>
  If you have a method that calls two DAO methods which normally would each have a <code>transaction.begin</code> and <code>transaction.commit</code> encompassing the real operations and call them it would result in two transactions ( and there might be rollback issues if the previous DAO method was supposed to be rolled-back too).  </p>
  
  <p>But if you use <code>@transactional</code> on your method then all those DAO calls will be wrapped in a single <code>begin()</code>- <code>commit()</code> cycle. Of course, in case you use <code>@Transactional</code>  the DAOs must not use the <code>begin()</code> and <code>commit()</code> methods I think. </p>