我在寫一個必須訪問不同數據庫的Java SE(桌面)應用程序,它們將具有相同的數據模型(相同的模式,表等)。我想重用已在每個數據庫前面的Java EE應用程序中使用的JPA實體。如何讓JPA應用程序訪問不同的數據庫?
要重新使用現有的entity.jar文件,我必須使用具有resource_local數據源的不同persistence.xml對其進行重新打包。這是造成時間不便,但不是一個大問題。
問題是我的桌面應用程序將僅限於使用persistence.xml文件中定義的數據源。我可以定義多個持久性單元並選擇在運行時使用哪個單元,但是當添加新數據庫時,必須更改persistence.xml並更新所有桌面二進制文件。
我希望能夠在每個用戶可以配置的.properties文件中定義新的數據源。有什麼方法可以在運行時重寫或添加到persistence.xml中聲明的持久單元嗎?
我不想用Web服務接口來構建Java EE應用程序來支持此桌面應用程序。 Java EE應用程序有不同的用途,我想在桌面應用程序中保留桌面功能。
謝謝。
謝謝。我接受你的答案,並在上面進行擴展。 – 2012-02-22 17:32:26
@DeanSchulze不客氣,很高興幫助。 – 2012-02-22 18:48:42