2017-03-09 94 views
0

我不確定是否理解正確,因此想澄清。 如果我想創建一個倉庫爲我的實體如:在Spring中實現JpaRepostiory時使用存儲庫註釋

public interface BookRepository extends JpaRepository<Book, Id> {} 

我應該用@Repository批註呢?根據這question @Repository註釋將SQL的異常轉換爲持久性,但JpaRepostiory沒有這樣做?最佳做法是什麼 - 註釋與否?

+0

不,您不需要使用Spring Data JPA。 Spring Data基礎結構掃描所有擴展'Repository'的接口併爲它們自動生成代理實現。 – manish

回答

3

在使用JpaRepository你不需要註釋界面@Repository

它僅僅是接口和具體實現由Spring動態創建的代理對象和JDBC異常的處理方式存在。

當您創建自定義DAO時,您需要使用@Repository,以便spring創建一個bean並正確處理異常。

0

您需要使用@Repository對其進行註釋,以便spring知道它應該將該類實例化爲一個bean。 @Component,@Service和@Repository註釋在這方面都有相同的用途。 @Repository將範圍縮小爲專門處理獲取和存儲數據的服務。