2010-01-01 58 views
2

我的工作中的Java(GWT要準確)一箇中等規模的項目,我仍然決定什麼ORM使用的過程。
我只是不寫SQL查詢,除非徹底和完全必要的(並非如此:d)建議用於註釋只ORM框架(Java)的

我希望只使用註釋,沒有XML配置[除數據庫位置,用戶名等],和我DON」 T想要創建任何表或定義它們。我希望這是由框架完全完成。
叫我懶,但我喜歡的Java/GWT編程,創建表,並用那種事的應對,這是在我分配一個加號,如果我確實使用ORM:d

我認爲到目前爲止:

  • 休眠與註釋:我發現小的文件,從地面使用此上手。我發現了很少的例子和相似的。就好像他們實際上並不希望你使用100%的註釋。
  • DataNucleus將
    • JDO:似乎有趣,我從來沒有聽說過DataNucleus將高達直到這個星期,但似乎非常成熟,我卻發現它,因爲谷歌使用它在GWT,所以這是一個好兆頭。我也喜歡他們提到的事實,我不需要需要來定義任何表或列,但我認爲hibernate也可以實現這一點。儘管他們的文檔(儘管我還沒有完成),但我確實喜歡閱讀,與冬眠相反。
    • JPA我不能完全肯定,如果DataNucleus將/ JPA 可以只有註解的配置工作,儘管我可能需要採取進一步深入查看的文檔。

正如你可能已經猜到,我很傾向於JDO ...但它會是不錯的聽到誰使用過它的人不得不說的VS其他選擇,如果我在這裏錯過了一些非常重要的觀點。

編輯1:我知道我需要將XML數據庫的位置在/ usr /密碼,我的意思是我不希望使用XML來配置映射或數據庫模式。

+0

幾乎每個框架都使用資源配置文件來指定用戶名/密碼和數據庫服務器。 – notnoop 2010-01-01 07:09:24

+0

我已經澄清了一下我的意思,對不起,我的不好。 – WhyNotHugo 2010-01-01 07:12:54

回答

4

JPA(1和2)是相當多的XML免費的,這取決於它是如何包裝。你當然不需要它的架構。它還支持生成表格時的註釋。

與這些唯一的問題是,雖然他們可以創建一個數據庫,他們是一個數據庫映射工具,而不是一個DB定義工具。具體來說,大多數不會允許您創建任意索引,您可能需要將數據庫適當調整爲適合您的查詢。

但除此之外,JPA應填寫您的需求,它有很多實現方式(Hibernate的僅僅是一種實現)。

+0

我特別提到DataNucleus的JPA實現,但很高興知道JPA總體上符合我的需求。我不太明白你在第二段中的意思,特別是它不能做什麼? :/ – WhyNotHugo 2010-01-01 07:58:15

+0

在數據庫中,您可以在檢索數據時經常使用的列上定義(除其他外)索引。這具有相當大的性能優勢。 – 2010-01-01 08:04:55

+0

噢,喲,我知道他們是誰嘿:)以前沒有明白,謝謝:) – WhyNotHugo 2010-01-01 14:03:39

0

這是一種自我張揚,但我已經工作了一個簡單的Java ORM包稱爲ORMLite一段時間。我想要的東西比hibernate簡單得多,但不需要直接編寫SQL。它完全基於註釋,目前支持MySQL,Postgres,Derby和H2。如果我有權訪問服務器,那麼添加其他數據庫將很簡單。它是完全基於註釋的,可以創建(並銷燬)表格。

http://ormlite.com/

它具有非常靈活的QueryBuilder和表分頁。但是,加入並不受支持。

+0

本週我會嘗試一些時間,並給你一些反饋:)雖然我不知道如果我可以沒有一些複雜的標準來處理我的項目。 – WhyNotHugo 2010-01-18 20:10:50

+0

我已經添加了複雜的標準包。但不支持加入。 – Gray 2010-02-02 20:44:13