我試圖搜索JPA數據源存儲位置默認的內容以及如何指定特定位置但未發現任何內容。JPA數據源存儲位置
我發現在Tomcat下的數據庫保存的目錄裏面的Tomcat目錄下的bin /這讓我爲難的原因有兩個內部的數據源的名稱:
- ,因爲數據庫是不是可執行並且不應該駐留在bin/
- 中,因爲所有webapps共享相同的bin /目錄,因此具有相同名稱但具有兩個不同webapps的兩個數據源會發生衝突。
如果我理解正確,則數據源表示實際的JPA底層數據庫,而持久性單元將將存儲在數據源內的實體組合在一起。所以我應該查找數據源的屬性,而不是持久性單元的屬性。
== ==編輯
到目前爲止,我已經宣佈裏面的persistence.xml持久性單元的名稱,我有以下
添加配置此持久單元的META-INF/context.xml的內<Context path="/exampleWeb">
<ResourceLink global="ds/exampleDS" name="ds/exampleDS" type="javax.sql.DataSource"/>
</Context>
要使用的數據庫的類型我認爲是基於我擁有的庫,是唯一可用的是eclipselink-2.4.1.jar。
web.xml中我有:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>ds/exampleDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
== EDIT 2 ==
Tomcat的內部的server.xml我
<Resource
auth="Container"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
maxActive="20"
maxIdle="10"
maxWait="-1"
name="ds/exampleDS"
type="javax.sql.DataSource"
url="jdbc:derby:exampleDB;create=true"
/>
我添加了我的配置詳細信息 –
這仍然不顯示您正在使用哪個數據庫以及它如何配置。這應該在tomcat的server.xml文件中定義。你從哪裏得到這個配置?誰寫的,基於什麼? –
謝謝,我發現Tomcat的server.xml中缺少配置。我認爲持久性配置只在webapp配置文件中,而不是在Tomcat配置中。 –