對於Spring 3.0,推薦使用hibernate或JPA。與Spring 3.0一起使用時,它們的優點和缺點是什麼?休眠或JPA?
注意:我們也可以在Spring Data Access中使用它。
對於Spring 3.0,推薦使用hibernate或JPA。與Spring 3.0一起使用時,它們的優點和缺點是什麼?休眠或JPA?
注意:我們也可以在Spring Data Access中使用它。
我的首選是使用EclipseLink的JPA。原因:
Bozho:有一些我發現,不幸的是它並不是那麼明顯,因爲它只發生在一些極端情況下。有些,我能想到:
準確地說,你應該使用Java Persistence API ,然後你可以使用Hibernate作爲一種實現。
沒有實現的JPA是不值得的。
JPA是一個標準,所以如果你只使用它的API,你可以用一些其他的JPA實現替代Hibernate。如果您使用某些Hibernate特定的API,因爲您需要的功能不是純JPA提供的,那麼您將擁有供應商鎖定方案,因此您必須小心謹慎。
這取決於我們的應用。
如果你不相信,你將永遠不需要改變你的持久性提供,強烈推薦使用JPA(2.0)
如果你確信你永遠不會改變你的持久性提供,比我推薦也使用JPA(2.0)。但是(僅)在這種情況下,如果您的問題沒有通過標準JPA解決,您有可能使用您選擇的JPA提供程序的專有功能。 - 但明智地使用它,如果你選擇這種方式一次,它很難回去!
當然,JPA只是一個API--所以你需要實現它。 - 我使用Hibernate作爲JPA提供者,但主要是因爲我在第二種情況下永遠不會改變它,並且我需要額外的功能,如Hibernate-Search和Envers。
我會說,由Hibernate提供的JPA實現。爲什麼?由於
其實,我不介意ŧ o也使用Hibernate獨有的功能。我沒有發現任何與Hibernate有關的問題,僅僅因爲它不是一個標準。順便說一句,是什麼讓你認爲Spring是標準的。它不是,而且你很好,因爲它工作。 Hibernate可以說類似的東西。如果你不清楚自己在做什麼,Hibernate有時會變得毛茸茸的。
什麼是奇怪的實現?我沒有休眠問題。 – Bozho 2010-11-30 09:18:29