データベースが異なる場合は、異なるクラス/マッピングを作成する必要があります。たとえばFoo、db1 に 3 つの列 ( id、baz、pleh) と db2 に他の 3 つの列( id、baz、 ) を持つ両方のデータベースにテーブルがある場合、これはqux実行できません。
@Entity
public class Foo
{
@Column(name = "id")
private Long id;
@Column(name = "baz")
private String baz;
@Column(name = "pleh")
private String pleh;
@Column(name = "qux")
private String qux;
}
これを行うと、JPA が次のような挿入ステートメントを生成するため、例外が発生します。
insert into Foo (id, baz, pleh, qux) values (?, ?, ?, ?)
FooDB1 の場合、次のようなクラスを作成する必要があります。
@Entity
public class Foo
{
@Column(name = "id")
private Long id;
@Column(name = "baz")
private String baz;
@Column(name = "pleh")
private String pleh;
}
DB2 の場合は次のようになります。
@Entity
public class Foo
{
@Column(name = "id")
private Long id;
@Column(name = "baz")
private String baz;
@Column(name = "qux")
private String qux;
}