Harnessing Hibernate [a step-by-step guide to Java persistence] - Elliott, James; Fowler, Ryan; O'Brien, Tim (O'Reilly, 2008)