0

別のスキーマを使用して db2 データベースを処理するために、hibernate-annotation (entitymanager) を使用しています。

私のメイン スキーマは「mainschema」と呼ばれます。ファイルアップロード用のテーブルがあります。

次に、他のスキーマ (schema1、schema2、schema3、schemaN) があります。

「mainschema」のファイルテーブルを参照するように、schemaN の多対 1 の関係をどのように伝えることができますか。接続を開くと、使用するスキーマを指定します。しかし、多対一はまだそのスキーマを使用しており、fileupload テーブルは「mainschema」でのみ使用できます。

手伝ってくれてありがとう!

編集:

メインスキーマを明示的に使用する私のファイルアップロード休止状態ビーン:

@Entity
@Table(name="DOKUMENT", schema="mainschema")

次に、すべてのクライアントに 1 つのスキーマがあります。こちらをご覧ください: The Schema is not set in the Bean. 代わりに、接続が開かれる時間に設定されます。

@Entity
@Table(name="SOMETABLE")

このテーブル「SOMETABLE」は、すべてのクライアントのすべてのスキーマに存在します。これは、多対 1 のドキュメント エンティティを参照します。

@Many-To-One
@JoinColumn(name="DOKUMENT_ID")
public Dokument getDokument() { return dokument }
public void setDokument() { this.dokument = dokument }

質問はクローズできます。休止状態はまだ「メインスキーマ」を自動的に使用しているため、変更なしで動作しています。

4

1 に答える 1

1

This is how to map SchemaN to MainSchema one-to-many

@Entity
public class SchemaN{

    @OneToMany(targetEntity=MainSchema.class, mappedBy="pk_SchemaN")
    private List<MainSchema> ms;

...

}

@Entity
public class MainSchema{

     @ManyToOne
     @JoinColumn(name="FK_MainSchema")
     private SchemaN pk_schemaN;

...

}

Hope this helps you it should be the same for any Schema1 to N

于 2013-04-15T10:55:22.933 に答える