jpa implementation for repository interface