如何在单个数据库中将Hibernate用于两个不同的模式

shr*_*nth 6 hibernate

我想在数据库中使用两个不同的模式,每个模式具有相同的表集但数据不同.如何使用hibernate并指向两个不同的模式.我是hibernate的新手.请提供链接.

提前致谢

Nay*_*kar 9

您可以schema在为实体定义表时按元素指定它.

@Table(name ="TABLE_NAME",schema ="SCHEMA_NAME")

否则,您可以使用单独EntityManager指向相应的模式然后使用相同的实体,因为它们的结构类似.


编辑:您可以为每个模式分别配置文件,然后SessionFactory从中构建,下面是一些伪代码.

SessionFactory sf_1 = new  Configuration().configure("schema1config.cfg.xml").buildSessionFactory();
SessionFactory sf_2 = new Configuration().configure("schema2config.cfg.xml").buildSessionFactory();

session_1 = sf_1.openSession();  //-- Similarly for other
Run Code Online (Sandbox Code Playgroud)

您可以参考此链接以获取有关映射多个架构的更多详细信息,但它不是特定于hibernate的.