2012-02-04 56 views
-1

我正在創建一個擁有40多個數據庫表的Java EE項目。哪個持久性API更適合用於這樣的項目:hibernate/jpa等。使用哪個java持久性API?

即使在谷歌上,我也找不到與此場景對應的任何帖子。

+0

您能更具體地瞭解您的需求嗎? – 2012-02-04 18:06:45

回答

5

你有很多的選項,你的問題是不容易的,而不更多地瞭解您的具體要求來回答。

當您希望快速啓動「持久性」並使用JPA時。如果您不關心SQL或關係模型太多,而是想要「堅持」數據並執行CRUDOLTP),那麼JPA最適合您。一些示例實現:

當你想控制你的SQL,使用不規範的框架。當你想有超過由框架發出的查詢細粒度的控制,這些可能更適合,因爲要執行比「CRUD」得多(即OLAP):

當你想要做這一切你自己,直接使用JDBC(這也是一種「持久性API」)

+0

但是如果我使用JPA,那麼是否必須生成40個類?不會讓系統變慢嗎? – nkvp 2012-02-04 18:24:38

+0

@nkvp:請更具體地瞭解您的使用案例。你想做什麼*做什麼以及哪些*不做*你想做什麼。您沒有*可以生成40個課程,但從您提供的少量信息中很難說,JPA是否適合您。請相應地更新您的問題 N.B:40個表/類是一個相當小的數據庫。可能不需要擔心性能。 – 2012-02-04 18:26:44

+0

它是一個醫院管理系統(與醫生,病人,藥品等),有一個基於ejb的web服務,並有2個客戶端,一個jsp web應用程序和一個java獨立應用程序 – nkvp 2012-02-04 18:29:27

3

JPA無論你喜歡什麼樣的實現:Hibernate,EclipseLink。

(JPA是一個具有多種實現標準)

+0

但是怎麼樣的類,我必須產生所有的40個類...不會減慢系統? – nkvp 2012-02-04 18:25:51

+0

完全沒有..... – Bozho 2012-02-04 20:16:32

+0

好的......非常感謝你......我還有一個關於認證的問題,如果可能的話,你可以幫我解決......鏈接是http://stackoverflow.com/問題/ 8864879/web-service-authentication-in-java-ee ...請檢查發佈到答案的評論... – nkvp 2012-02-05 02:06:28