您可以使用同一個實體具有相似的架構不同的數據庫,但必須建立EntityManager
指向特定的數據庫。
下面是persistence.xml中
<persistence-unit name="DB_X">
<jta-data-source>java:/OracleDS</jta-data-source>
...
</persistence-unit>
<!-- Other Persistence Units -->
創建EntityManager的特定單元
@PersistenceContext(unitName="DB_X")
private EntityManager xEM;
@PersistenceContext(unitName="DB_Y")
private EntityManager yEM;
EntityManagerFactory的電動勢= Persistence.createEntityManagerFactory(persistenceUnitName來); EntityManager em = emf.createEntityManager();
之後,就可以使用同一個實體具有相似的模式,適當EntityManager
表結構不同的數據庫。
編輯:根據您的意見,從你已經張貼的問題不同,看來你要使用同一個實體的多個表。以下是它的示例代碼。
@MappedSuperClass
public class abstract BaseEntity {
@Id
@Column(name="name")
private String name;
@Column(name="age")
private String age;
//-- accessor methods
}
@Entity
@Table(name = "XTable")
public class XEntity extends BaseEntity {
public XEntity(){}
}
@Entity
@Table(name = "YTable")
public class YEntity extends BaseEntity {
public YEntity(){}
}
這裏,XEntity
& YEntity
相似,但指向它們各自的表。
你需要連接到多個數據庫** **或者您需要從多個表中獲取數據?我無法理解你的問題,因爲括號內的附加解釋有點令人困惑。 –
我正在連接到同一個數據庫,我想要連接到具有相同模式的數據庫中的多個表的一個實體類。 – user1817081