我不確定是否理解正確,因此想澄清。 如果我想創建一個倉庫爲我的實體如:在Spring中實現JpaRepostiory時使用存儲庫註釋
public interface BookRepository extends JpaRepository<Book, Id> {}
我應該用@Repository批註呢?根據這question @Repository註釋將SQL的異常轉換爲持久性,但JpaRepostiory沒有這樣做?最佳做法是什麼 - 註釋與否?
我不確定是否理解正確,因此想澄清。 如果我想創建一個倉庫爲我的實體如:在Spring中實現JpaRepostiory時使用存儲庫註釋
public interface BookRepository extends JpaRepository<Book, Id> {}
我應該用@Repository批註呢?根據這question @Repository註釋將SQL的異常轉換爲持久性,但JpaRepostiory沒有這樣做?最佳做法是什麼 - 註釋與否?
在使用JpaRepository
你不需要註釋界面@Repository
它僅僅是接口和具體實現由Spring動態創建的代理對象和JDBC異常的處理方式存在。
當您創建自定義DAO時,您需要使用@Repository
,以便spring創建一個bean並正確處理異常。
您需要使用@Repository對其進行註釋,以便spring知道它應該將該類實例化爲一個bean。 @Component,@Service和@Repository註釋在這方面都有相同的用途。 @Repository將範圍縮小爲專門處理獲取和存儲數據的服務。
不,您不需要使用Spring Data JPA。 Spring Data基礎結構掃描所有擴展'Repository'的接口併爲它們自動生成代理實現。 – manish