I just started working on a Spring-data, Hibernate, MySQL, JPA project. I switched to spring-data so that I wouldn\'t have to worry about creating queries by hand.
We also use @Transactional annotation to lock the record so that another thread/request would not change the read.