1. 程式人生 > >菜鳥初識技術篇---Sping Data Jpa

菜鳥初識技術篇---Sping Data Jpa

    首先是Sping Data Jpa 也是幾個月前才開始接觸的,其實在學習這個技術之前,之前也有用到jpa操作的,使用hibernate框架的時候,因為hibernate本身就是一個自動化的持久層框架技術,所以在只使用到hibernate的框架裡,一般都是用jpa操作的,不過也可以用到一些sql操作,不過最終還是避免不了你要用到jpa的操作。所以學jpa的操作還是非常有必要的,當然你使用的半自動化的mybatis框架的話,當然可以盡情使用你的sql語句操作(我之前有段時間就是一直寫sql來操作的,用的jpa比較少),不用jpa語句操作也行,其實都可以,看你自己怎麼靈活使用吧。然後下面要說的jpa是spring Data Jpa這個是spring框架中的一個東西,跟平時寫的jpa相似,其實jpa熟練的話,還是非常方便的,而且一些功能或者操作也很強大。

    好了,廢話不多說,下面來講一下初識這個spring的 jpa的一點初識東西。

因為主要都是基礎的東西,而且筆記也不多,然後那些基礎的怎麼寫相關的表實體類、查詢方法findbyXXX等等就不詳細講了,網上有很多寫法,可以參照來寫,所以在這裡就先介紹一些個人覺得要理解一下的,或者有點需要注意到的地方,比如:相關的repository體系類:

1, CrudRepository       -------------》顧名思義就是CURD增刪改查的操作類了;

2,PaggingAndSortingRepository         -------------------》分頁排序類;

3,JpaRepository                -------------------》這是一組JPA規範,繼承PaggingAndSortingRepository類。

JpaspecificationExcutor    -----------》這個類提供了Jpa criteria查詢的相關方法

然後也順便說一下結合一些註釋的使用查詢方法:

比如查詢註釋:@Query (其中的引數nativeQuery=true,意思是按資料庫中的sql語句格式對待)

關於事務性的操作刪改:@Modifying(clearAutomatically:true,意思是重新整理一級快取)、@Transactional

最後,有一點需要注意的是,spring jpa中沒有update和insert的操作,用的都是save方法的操作:

save,saveAndFlush(馬上寫入資料庫,一般用於高併發的情況)。

以上僅代表個人的一些見解,如有錯誤,望多多指正,謝謝!

                                                                                                                                                                                          2018年11月15日