2010-05-03 67 views
1

我想知道如果我可以共享幾個持久性單元相同的jar文件..我的意思是:我有兩個持久性單元描述在我的persistence.xml文件中,實體不在相同的JAR。實體在一個單獨的JAR文件中,但是在那個實例中,有兩個持久性單元的實體。我認爲我紅色的地方,我可以使用類似這樣的標籤: externalEntities.jar#com.mycompany.EntityA 所以我可以將它們分開。我試過這個解決方案,它不起作用。現在我猜想無法在同一個JAR文件中打包所有實體(用於兩個不同的持久性單元)。JPA persistence.xml共享相同的jar文件

你覺得怎麼樣?

回答

2

我不確定我是否理解這個問題,但是您是否嘗試用jar-file元素聲明您的罐子。從規範(第6.2.1.6):

一個或多個JAR文件可以使用本jar-file元素,而不是 ,或除了在mapping-file 元素指定的映射 文件中指定 。如果指定,這些JAR文件 將搜索管理 持久類,並在其上 發現任何映射 元數據註釋將被處理,否則將是 使用映射註解本 規範定義 默認映射。這樣的JAR文件是相對於持久性單元的根(例如, utils/myUtils.jar)指定的 。

...

實施例3:

<persistence-unit name="OrderManagement3"> 
    <jar-file>order.jar</jar-file> 
    <jar-file>order-supplemental.jar</jar-file> 
</persistence-unit> 

中創建名爲 OrderManagement3的持久化單元。在持久性 單元的根中找到的任何 帶註釋的管理持久性類 都將被添加到管理的 持久性類的列表中。如果存在 META-INF/orm.xml文件,則包含在其中的任何 類和映射信息 被用作上面指定的 。該order.jarorder-supplemental.jar文件 搜索管理持久性 類和任何註解管理在其中找到 持久化類 和/或在這些jar文件的 orm.xml文件中指定的任何類 增加。交易類型,數據源和提供者如上所述的 。