データベースが異なる場合は、異なるクラス/マッピングを作成する必要があります。たとえば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 (?, ?, ?, ?)
Foo
DB1 の場合、次のようなクラスを作成する必要があります。
@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;
}