Hibernate使用DB2上的其他模式进行多对一操作

时间:2013-04-15 10:43:13

标签: java hibernate hibernate-annotations

我正在使用hibernate-annotation(entitymanager)来使用单独的模式处理我的db2数据库。

我的主要架构被称为“mainschema”。它有一个用于文件上载的表。

然后我有一些其他架构(schema1,schema2,schema3,schemaN)。

如何判断schemaN上的多对一关系以引用“mainschema”上的文件表。如果我打开连接,我会告诉使用哪个架构。但是多对一仍在使用该模式,而fileupload表仅在“mainschema”中可用

感谢您的帮助!

编辑:

我的fileupload hibernate bean使用显式主模式:

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

然后我为每个客户端都有一个架构,请看这里: 架构未在bean中设置。它是在连接打开的时间设置的。

@Entity
@Table(name="SOMETABLE")

此表“SOMETABLE”存在于每个客户端的每个模式中。 它指的是具有多对一

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

问题可以结束。它没有任何变化,因为hibernate仍在自动使用“mainschema”。

1 个答案:

答案 0 :(得分:1)

这是如何将SchemaN映射到MainSchema一对多

@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;

...

}

希望这可以帮助您对任何Schema1到N

应该是相同的