包括我在內的一些人一直在努力將來自不同模塊(罐子)的實體合併到單個持久性單元中(尤其是JavaSE,例如這裏JPA 2.0: Adding entity classes to PersistenceUnit *from different jar* automatically)。根據答案,沒有簡單的方法可以做到這一點。其中一個解決方案是列出來自單個持久性單元文件中所有jar的所有類,但這不是很優雅。我可能會無意中找到另一種方式。通常,我所有的實體類都使用註釋進行映射。作爲用於溶液:persistence.xml
可以包括多個XML映射文件,例如:!多個瓶子,單個持久性單元解決方案?
的main.jar META-INF/persistence.xml中:
<persistence-unit name="PU" transaction-type="RESOURCE_LOCAL">
<mapping-file>META-INF/order-mappings.xml</mapping-file>
<mapping-file>META-INF/customer-mappings.xml</mapping-file>
</persistence-unit>
的映射文件可以放置在不同的罐。我注意到的是,它們可能含有<entity>
元素沒有任何屬性,如:!
order.jar META-INF /訂單mappings.xml
<entity-mappings>
<entity class="com.company.Order"></entity>
</entity-mappings>
即使映射文件沒有按不映射任何屬性無論如何,Java類中的註釋都被納入考慮範圍並且一切看起來都很好!這意味着僅通過包含來自特定JAR的XML映射文件就可以很容易地將來自多個jar的實體包含到單個持久性單元中。
我的問題是:這是允許的JPA映射文件使用或我的堅持提供商(休眠)只是一個副作用?
對不起,我刪除了評論 – cproinger 2013-05-09 11:33:39
問題是元模型代不會以這種方式工作。這些類的元模型是空的。 – kboom 2014-04-26 06:11:39
感謝您的提問/提示。你救了我的一天! ;) – Mirko 2014-09-16 04:16:35