jpa hiberneate springdata jpa的關系

什么時jpa?

????全稱java Persistence API,可以通過注解或XML描述{對象-關系表}之間的映射,并將尸體對象持久化到數據庫里面。

? ? 1)ORM映射元數據:支持XML和注解兩種元數據的形式,元數據描述對象和表之間的映射關系,框架將實體對象持久化到數據庫中

? ? ? ? 如:@Entity? ? @Table ????@column? ? @Transisent

? ? ? ? ? ? @Entity:修飾實體類,指定該類將映射到指定的數據庫

? ? ? ? ? ? @Table:當實體類與映射類的數據庫表名不同時需要使用@Table注解,該注解與@Entity并列使用


? ? ? ? ? ? @Id:標識微主鍵,一般標識在getter方法上

? ? ? ? ? ? ? ? ?–IDENTITY:采用數據庫 ID自增長的方式來自增主鍵字段,Oracle 不支持這種方式;

? ? ? ? ? ? ? ? ?–AUTOJPA自動選擇合適的策略,是默認選項;

? ? ? ? ? ? ? ? ?–SEQUENCE:通過序列產生主鍵,通過 @SequenceGenerator 注解指定序列名,MySql 不支持這種方式

????????????????–TABLE:通過表產生主鍵,框架借由表模擬序列產生主鍵,使用該策略可以使應用更易于數據庫移植

? ? ? ? ? ? @GeneratedValue:標識主鍵的生成策略,通過strategy屬性,通常與@Id一起使用

? ? ? ? ? ? @cloumn:當實體的屬性與映射的數據表的列不同名時使用,一般用在getter方法上,其name屬性用來指定次屬性在數據表中對應的列明unique 屬性指明是否為唯一約束;nullable 屬性用來指明是否可以為空,false 為不能為空length 屬性指明此列的長度。

? ? ? ? ? ? @Tansisten:標注此注解后在創(chuàng)建數據表的時候將會忽略該屬性,類并沒有這個屬性,所以數據庫中也不應該有這個字段

? ??????????@Temporal:向數據庫映射日期(Date)屬性時用來調整映射的精度。Date 類型的數據有DATE, TIME, 和 TIMESTAMP三種精度(即單純的日期,時間,或者兩者兼?zhèn)?,Birth 屬性應該使用 DATE 類型(生日只具體到日即可,如:2015-10-22),而 CreateTime 應該使用 TIMESTAMP 類型(創(chuàng)建時間應該具體到秒,如:2017-10-11 22:39:13)


?????2)JPA的API:用來操作實體對象,執(zhí)行CRUD操作,框架替我們完成做所有操作。

? ? ? ? EntityManager.merge(T? t)

? ? 3)JPOL查詢語句:通過面向對象而非面向對象數據庫的查詢語句查詢數據,避免程序的sql語句緊密耦合




什么時spring data jpa?

? ?是spring提供的一套簡化的JPA的開發(fā)框架,按照約定好的「方法命名規(guī)則」寫dao層接口,就可以在不寫接口實現的情況下,實現對數據庫的訪問和操作,同時提供了很多的除了CRUD之外的功能,如分頁、排序、復雜查詢等等。


接口約定命名規(guī)則:

實例:

springboot集成spring data jpa只需兩步:

第一步:導入maven坐標

第二步:yml配置文件中配置jpa信息

--完--

轉載于

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容