SpringでのJpaRepositoryの使用法について概念的なOOの質問があります。JpaRepositoryを呼び出し元に公開して、そのインスタンスでCRUDメソッドを呼び出せるようにするだけでいいですか、それとも各メソッドをラップして、サービス内から対応するJpaRepositoryメソッドのみを呼び出す必要がありますか?
コード内:
public interface MyJpa extends JpaRepository<MyEntity, Long>
それから:
@Repository
public class MyDbService{
@Autowired
private MyJpa myJpa;
public Iterable<MyEntity> findAll()
{
return myJpa.findAll()
}
... other CRUD methods
}
次に、クライアントは次のことを行います。
Iterable<MyEntity> entities = myDbService.findAll();
とは対照的に:
@Repository
public class MyDbService{
@Autowired
private MyJpa myJpa;
public MyJpa getJpa() {
return myJpa
};
}
次に、クライアントは次のことを行います。
Iterable<MyEntity> entities = myDbService.getJpa().findAll();
2番目のアプローチを使用しないことの主な懸念事項は何ですか?