簡體   English   中英

具有不同數據庫的JPA實體-主數據庫的注釋,輔助數據庫的XML

[英]JPA entities with different databases - annotations for main database, XML for secondary database

我有兩個數據庫-新的(重構的)和舊的(舊的)數據庫,我希望應用程序同時為兩個數據庫運行(不是同時運行,其目的是在舊數據庫上運行應用程序一段時間,然后再切換一些數據庫)客戶訪問新數據庫,並在一段時間后放棄對舊數據庫的支持)。 顯然-區別配置中,JPA實體到數據庫的映射是唯一的區別。

我知道可以通過維護兩個JPA persistence.xml配置文件來實現。 但我想進行以下設置:-主數據庫的配置應在批注中(因為開發和維護批注更容易,並且可以將代碼放置在主代碼中)。 -舊數據庫的配置應該在覆蓋注釋的XML文件中。

這是否可能以及如何實現。 據我所知,相反的方法是可能的-將映射保留在persistence.xml中並使用注釋進行覆蓋。

實際上,JPA提供程序使您可以使用注釋定義映射,並使用XML文件覆蓋設置。 這(幾乎)是所有Java EE規范的默認行為。

在這種情況下,可以使用新數據庫的注釋來定義映射,然后通過僅聲明JNDI位置和標志來定義persistence.xml:

<排除-不公開的類>假</排除-不公開的類>

任何其他映射將在注釋級別上處理。

對於舊數據庫,您可以聲明另一個持久性單元,並使用persistence.xml或orm.xml覆蓋注釋中聲明的行為。

在代碼中,您可以按名稱引用相應的持久性單元。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM