1. 程式人生 > >JPA、Hibernate和Mybatis區別和總結

JPA、Hibernate和Mybatis區別和總結

一、應用場合:

傳統公司、部分個人開發者喜歡用jpa;而網際網路公司更青睞於mybatis

原因:

1、mybatis更加靈活,開發迭代模式決定了他是網際網路公司的首先;每一次的修改不會帶來效能上的下降。

2、傳統公司需求迭代速度慢、專案改動小,hibernate可以做到一勞永逸;hibernate容易因為新增關聯關係或者開發者不瞭解優化導致專案,造成越改越糟糕。

二、各自特點:

1、mybatis官方文件就說了他是一個半自動化的持久層框架,相對於按自動的hibernate更加靈活可控;

2、mybatis的學習成本低於hibernate。

3、使用hibernate需要對他有深入的瞭解,尤其是快取方面,作為一個持久層框架,效能還是第一位的。

hibernate具有三級快取,一級快取預設是開啟的,二級快取需要手動開始並配置優化,三級快取可以整合業界流行的快取技術:redis,ecache等等。

4、hibernate在關聯查詢中的懶載入。(在開發中,還是不建議去過多使用外來鍵去關聯操作)

5、jpa是一種規範,hibernate也是遵從這種規範;

6、springDataJpa是對repository的封裝,簡化了repository的操作。