implement JPA api with hibernate