繁体   English   中英

在DB2上使用其他模式休眠多对一

[英]Hibernate Many-To-One using other schema on DB2

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

我的主要模式称为“ mainschema”。 它具有用于文件上传的表。

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

我如何告诉schemaN上的多对一关系引用“ mainschema”上的文件表。 如果打开连接,则会告诉您要使用的架构。 但是多对一仍在使用该架构,并且fileupload表仅在“ mainschema”中可用

感谢帮助!

编辑:

我的文件上传休眠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 }

问题可以结束。 它可以正常工作,因为休眠状态仍在自动使用“ mainschema”。

这是如何将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都应该相同

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM