following the Pro JPA2 book