title: Spring transactional readOnly and isolation levels
body: <p>I read about the propagation and isolation in the spring/hibernate. 
  I have one specific method where we have </p>
  
  <pre><code>0. @Transactional (the default spring annotation)
  1. read several rows
  2. some business logic
  3. read (from other table using some data from the first read)
  </code></pre>
  
  <p>That looks a bit unsafe to me. What if someone else deletes a row during step 2.
  I think that I should change the method annotation to</p>
  
  <pre><code>@Transactional(readOnly = true, isolation = Isolation.SERIALIZABLE)
  </code></pre>
  
  <p>Is that a valid fix for my specific case? (the task is to fix transactional annotations causing some problems with the system and change as few other lines of code as possible)
  Thanks in advance.</p>