您可以使用同一个实体具有相似的架构不同的数据库,但必须建立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