回答

1

也許你不應該改變包裝
我會建議反對它,因爲那些具有在子包(或任何其他)違反電流JPA 2規格:

•對於包p各自管理類X,創建在 包p A元模型類X_ [67]
。 。 ..
[67]我們預計在 規範的未來版本中將提供 不同軟件包的選項。
...
本規範的實現不是支持使用非規範元模型類的 。 使用非規範元模型類的應用程序不會是可移植的 。

其他組織方式是常見的JUnit實踐:在不同源目錄中的相同包。

但是,如果你要,這是它是如何做

至少以下的Eclipse版本的作品:靛藍服務發佈1 20110916-0149和的EclipseLink:的EclipseLink-2.3.0.v20110604-r9504。 JAR的名稱可能因版本而異。

如果啓用,禁用生成相同的包,其中實體是:

  1. 轉到項目屬性 - JPA和檢查源文件夾的那個值 是<None>

調整產生的其他包:

  1. 屬性 - 註釋處理
    [X]啓用項目的特定設置
    [X]啓用註釋處理
    [X]中的編輯器啓用處理
    生成的源目錄:SRC(或任何來源的活)
  2. 新處理器選項:
    鍵= eclipselink.canonicalmodel。分裝
    value = sub | (所需包名稱)
  3. 進一步深入到註釋處理|工廠路徑,然後選擇添加外部JAR,並添加下列jar:
    的EclipseLink/jlib/jpajavax.persistence_2.0.3.v201010191057.jar
    的EclipseLink/jlib/jpaeclipselink-JPA-modelgen_2.3.0.v20110604-r9504.jar
    的EclipseLink/jlib/eclipselink.jar
  4. 讓Eclipse重建項目。
+0

只是爲了組織的問題。我認爲它不一定「違反」,規範說的是規範本身還不支持它,但這並不意味着實現不會支持它。 EclipseLink支持將我的靜態規範元模型打包到伽利略上,我只是不知道如何在Indigo上使用它。順便說一下,我仍然想使用靜態規範元模型。非規範意味着應用程序將負責生成元模型類,然後是的,它違反了規範,這不是我想要的。 – ramsvidor

+0

然後我們有非常不同的看法。我認爲它確實如此。規範沒有指定工具。它定義了結果。結果可以通過某種工具或通過自己創建文件來獲得。爲其他軟件包生成元模型提供可能性的工具不違反規範。使用這樣一個選項的結果會產生違反規範的東西(在這種情況下,東西在錯誤的包中)。無論如何,我會通過編輯答案來描述如何做到這一點。 –

+0

我按照這些說明操作,但仍然沒有做任何事情。我的元模型類仍然在我的實體的同一個包中創建。我的觀點來自[本文](http://www.ibm.com/developerworks/java/library/j-typesafejpa/),它表示子打包,版本控制和命名約定仍然是規範還不夠清楚,因此,對此有自己的方法並沒有錯。在我的情況下,我想要一個不同的子包,我不希望它在我的SCM中。 – ramsvidor

相關問題