iBATIS和Hibernate區彆
iBatis和Hibernate之間有著較大的差異,但兩者解決方案很好,因為他們有特定的領域。我個人建議使用iBATIS的,如果:
-
你想創建自己的SQL,並願意維持他們.
-
你的環境是由關係數據模型驅動的。
-
你的項目工作有複雜架構的。
簡單地要使用Hibernate,如果:
-
你的環境是由對象模型驅動的,並希望自動生成的SQL。
要計算的一些區彆:
-
iBATIS :
-
簡單
-
更快的開發時間
-
靈活
-
封裝尺寸更小
-
-
Hibernate:
-
為你生成SQL,這意味著你不用花時間在SQL上。
-
提供了許多更先進的高速緩存
-
高可擴展性
-
另一個區彆是,iBATIS利用SQL語句可能是依賴數據庫,使用Hibernate的HQL是相對獨立於數據庫,它是更容易改變數據庫。
Hibernate映射的Java作為POJO對象,iBatis將ResultSet映射,從JDBC API給出POJO OBJETS的數據庫表。
如果您使用存儲過程,那麼在Hibernate中可以做到這一點,但它在iBATIS比較有點困難。作為一種替代的解決方案iBATIS的映射結果集對象,所以冇必要去關心表結構。這非常適用於存儲過程,非常適用於報表應用程序等
最後,Hibernate和iBATIS的都是開源的對象關係映射(ORM)在同行業中可用的工具。使用這些工具的取決於你。Hibernate和iBatis兩者也有來自Spring框架的良好支持,以便它不應該是一個問題,選擇其中之一。