我正在嘗試使用EAR創建分層的網絡工程。我將DataAccess中的實體分開,以便只允許BusinessLogic調用DataAccess。從EAR中的其他罐子引用實體
實際上,我得到這個異常:
對象:[email protected]不是已知的實體類型。
我在這裏發現我需要在EAR中創建一個persistence.xml,但我無法真正理解如何。
Sharing a persistence unit across components in a .ear file
我試圖把XML文件中的配置文件:
並引用與在persistence.xml <jar-files>
罐子;
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="I2TradingDataAccessPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/I2DataSource</jta-data-source>
<jar-file>../I2TradingEntities.jar</jar-file>
<jar-file>../../I2TradingEntities.jar</jar-file>
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="eclipselink.target-server" value="None"/>
<!-- <property name="eclipselink.logging.level" value="ALL"/> -->
<property name="eclipselink.logging.level" value="WARNING"/>
</properties>
</persistence-unit>
</persistence>
沒有成功。任何想法爲什麼?我對Web開發很陌生,這讓我感到很緊張。
我也收到此警告在persistence.xml的設計標籤:
看看[這裏](http://stackoverflow.com/questions/40016269/entity-unknown-in-ear-with-persistence-unit-in-another-jar/40030861#40030861)的問題,它的答案;這基本上是同一個問題。 – ujulu
你好。我正在與Netbeans合作,我只是不明白他們何時顯示文件夾結構。我的文件夾結構完全不同。你能告訴我在什麼地方放置persistence.xml嗎? –
我也不使用Netbeans,我也不能告訴你它是如何組織項目的;但是我看到一個包含'I2Trading.ear'的文件夾'dist'。如果你擴大耳朵,你可以看到目錄結構;如果你能告訴我,我可以試着告訴你你必須把persistence.xml文件放在哪裏。 – ujulu