从不同数据库生成实体并创建链接两个实体的复合

时间:2014-12-08 09:01:46

标签: jpa eclipselink

我是EclipseLink的新手。

我想知道:

  1. 是否可以从2个不同的数据库创建实体?如果有,怎么样? (示例请)

  2. 让我说我有Database1和Database2,是否可以创建复合单元,其数据库1中实体1的一个字段是数据库2中的实体2.如果是,如何(例如请)

  3. 非常感谢

1 个答案:

答案 0 :(得分:0)

假设同一服务器上有两个不同的模式,您应该能够使用@SecondaryTable注释来执行此操作,该注释允许您将一个实体映射到两个或更多个表。注释允许您指定包含辅助表的模式或目录。

https://docs.oracle.com/javaee/5/api/index.html?javax/persistence/SecondaryTable.html

看起来像:

@Entity
@Table(name = "main_table")
@SecondaryTable(name="secondary_table", schema="secondary_schema")
public class MyEntity{

    @Column(name = "my_field", table="secondary_table")
    private String fieldFromSecondaryTable;
}

如果您正在谈论两个不同的服务器,那么您可以查看在数据库级别执行的操作,这将允许您创建数据库视图,然后将实体映射到此视图。这适用于读操作但不确定写...

例如,在SQL Server中,您将考虑创建链接服务器:

Selecting data from two different servers in SQL Server