Java中CrudRepository和JPARepository的區別


CrudRepository和JPA repository都是Spring Data repository庫的介面。Spring Data repository透過提供一些預定義的查詢器來訪問各種持久層的資料層,從而減少了樣板程式碼。

JPA repository擴充套件了CrudRepository和PagingAndSorting repository。它繼承了Crud repository的一些查詢器,例如findOne、獲取和刪除實體。它還提供了一些與JPA相關的額外方法,例如批次刪除記錄、直接將資料重新整理到資料庫以及與分頁和排序相關的方法。

我們需要在我們的應用程式中擴充套件這個repository,然後我們就可以訪問這些repository中所有可用的方法。我們還可以根據業務需求,使用命名查詢或原生查詢新增新方法。

序號關鍵點JPARepositoryCrudRepository
1繼承關係JPA擴充套件了crudRepository和PagingAndSorting repositoryCrud Repository是基本介面,充當標記介面。
2批次支援JPA還提供了一些與JPA相關的額外方法,例如批次刪除記錄和直接將資料重新整理到資料庫。它只提供CRUD功能,例如findOne、save等。
3分頁支援JPA repository也擴充套件了PagingAndSorting repository。它提供了所有對實現分頁有用的方法。Crud Repository不提供實現分頁和排序的方法。
4用例JpaRepository將您的儲存庫繫結到JPA持久化技術,因此應避免使用。我們應該根據是否需要排序和分頁來使用CrudRepository或PagingAndSortingRepository。

JpaRepository示例

@Repository
public interface BookDAO extends JpaRepository {
   Book findByAuthor(@Param("id") Integer id);
}

CrudRepository示例

@Repository
public interface BookDAO extends CrudRepository {
   Book Event findById(@Param("id") Integer id);
}

更新於:2019年11月18日

21K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告