久久午夜无码,国产中文资源,Chinese熟女熟妇2乱2,高清五码d一区

當(dāng)前位置:首頁(yè) > 數(shù)據(jù)庫(kù) > 正文

hibernate和spring?hibernate和jpa

hibernate和spring?hibernate和jpa

這篇文章給大家聊聊關(guān)于hibernate和spring,以及hibernate和jpa對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站哦。Java開發(fā)中,MyBati...

這篇文章給大家聊聊關(guān)于hibernate和spring,以及hibernate和jpa對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站哦。

Java開發(fā)中,MyBatis、Hibernate、Spring Data JPA應(yīng)該如何選擇

選擇哪一種框架,需要結(jié)合項(xiàng)目實(shí)際來(lái),結(jié)合業(yè)務(wù)場(chǎng)景和團(tuán)隊(duì)成員的能力,綜合考慮并選擇技術(shù)方案。

先和大家講講每一種框架是啥

Hibernate:POJO與數(shù)據(jù)庫(kù)表建立映射關(guān)系;Java程序員可以使用操作對(duì)象的思維操作數(shù)據(jù)庫(kù)。(POJO就是JavaBean,只有有屬性、set、get方法)

Mybatis:做的是POJO與SQL之間的映射關(guān)系;程序員需要編寫SQL;

SpringDataJPA:有人說(shuō)它是對(duì)Hibernate更高級(jí)的封裝,這種說(shuō)法是有一些問題的;第二部分詳細(xì)說(shuō)明一下。

要解釋清楚SpringDataJPA是什么,需要一步步說(shuō)起

期初Java需要通過(guò)各個(gè)數(shù)據(jù)庫(kù)廠商提供的API進(jìn)行數(shù)據(jù)庫(kù)的訪問,后來(lái)JAVA提出了JDBC,程序直接使用JDBC這套規(guī)范就可以跟各個(gè)數(shù)據(jù)庫(kù)進(jìn)行對(duì)接;

接著誕生了ORM技術(shù),簡(jiǎn)化了Java對(duì)象的持久化工作,出現(xiàn)了Hibernate、TopLink等ORM框架;

Sun公司在JDK1.5的時(shí)候,吸收了Hibernate、TopLink等ORM框架的優(yōu)點(diǎn),提出了Java持久化規(guī)范:JPA;

Hibernate在3.2的時(shí)候提供了JPA的實(shí)現(xiàn),其余的JPA的供應(yīng)商還有諸如OpenJPA、Toplink等;

Spring在做持久化這一塊的工作,開發(fā)了Spring-data-xxx這一系列包,如:Spring-data-jpa,Spring-data-redis,Spring-data-mongodb等等,這些都是Spring提供的基于JPA和其他一些NOSQL的Repository。

SpringdataJPA是在JPA規(guī)范的基礎(chǔ)下提供了Repository層的實(shí)現(xiàn),但是使用哪一款ORM需要你自己去決定;相比我們更為熟悉的Hibernate和MyBatis,SpringDataJPA可以看做更高層次的抽象。

使用SpringdataJPA,默認(rèn)底層是Hibernate,但是可以修改成其他的ORM框架。

幾種框架的優(yōu)劣

Hibernate開發(fā)難度較大,學(xué)習(xí)周期長(zhǎng);但是可以讓開發(fā)者無(wú)需關(guān)心SQL,更專注業(yè)務(wù)流程;HQL不關(guān)心數(shù)據(jù)庫(kù)的類型,所以遷移起來(lái)很方便;

Mybatis需要手動(dòng)編寫SQL語(yǔ)句(更直觀),可更直接地對(duì)SQL進(jìn)行優(yōu)化,但是數(shù)據(jù)庫(kù)移植性差;

SpringDataJPA簡(jiǎn)化了數(shù)據(jù)庫(kù)訪問,可以通過(guò)命名規(guī)范編寫SQL,如果SQL較為復(fù)雜,還是需要通過(guò)注解的方式編寫SQL;它更適用于現(xiàn)在微服務(wù)的架構(gòu)(微服務(wù)的極致都是單表操作)。

從個(gè)人的角度:MyBatis>SpringDataJPA>Hibernate,或者M(jìn)yBatis+SpringDataJPA。

我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。

spring與hibernate配置事務(wù)后怎么提交事務(wù)后關(guān)閉數(shù)據(jù)庫(kù)鏈接

事務(wù)管理和AOP一回事,開啟的時(shí)候相當(dāng)于一個(gè)BeforeAdvice。只有當(dāng)所用方法內(nèi)的所用代碼都成功執(zhí)行了才會(huì)提交(這是會(huì)涉及到回滾,有異常會(huì)回滾,當(dāng)然也可以設(shè)置不回滾的異常)。關(guān)閉是在commit后或是回滾后。

關(guān)于hibernate和spring和hibernate和jpa的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

伊人精品成人久久综合97| 欧美老少配交| 国产美女一级做受视频 | 久久免费看黄A级毛片女| 草久无蚂| 伊人无码一区二区| 国产精品欧美一区二区不卡| 日本一区二区三区精品视频| 在线视频一区二区日韩国产| 欧美超级乱婬视频播放| 精品国产aⅴ一区二| 久久性爱免费视频| 久久精品只有精品| 国产真实迷奷系列在线观看 | 国产免费A∨片在线播放| 搞搞国产精品| 亚洲AV中文无码乱人伦在线视色| 日韩高清网站| 国产成人亚洲五月天| 欧美日韩亚洲国产中文无线码 | 3午夜精品久久久久成人| 国产免费午夜福利在线播放| 首页—日韩欧美| 亚洲欧美综合自拍| 久久精品国产成人午夜| 无码人妻免| 亚洲欧美丝袜精品久久中文| 午夜a级黄色毛片| 欧美AAAAAA| 欧美GV在线播放| 九九热这里只有精品6| 亚洲熟女精品久久久| 9999av视频| 中文字幕A∨人妻少妇一区二区| 少妇挑战三个黑人惨叫4P国语| 日韩字幕日韩曰曰夜| 91兆色学校| 蜜桃视频中文在线| 俩个人免费看日韩| 激情久久AV一区二区AV| 狠狠色色综合日日|