A year ago, a colleague of mine showed me a very interesting framework named Krank (latter renamed to Crank because the previous name means 'sick' in German, which does not bode well for any framework). Crank’s goal was to ease development on top of Java Persistence API 1.0. Two interesting features caught my attention at the time.