当前位置: 首页 > 知识库问答 >
问题:

Hibernate中多个模式中的相同表

督翰学
2023-03-14

我有一个运行多个dbs的mysql服务器,这些dbs有一些完全相同的表(别问了,我继承了这个项目):

CREATE TABLE `table1` (
  `id` int(11) NOT NULL,
  `city` varchar(255) DEFAULT NULL,
  `state` varchar(16) DEFAULT NULL,
  `zip` varchar(11) DEFAULT NULL,
  `code` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

它们之间还有许多相同的表,此外,DB01、DB02和DB03还有它们独占的其他表。

有没有可能为上面的表结构使用一个模型/服务层,这样我就可以使用Hibernate单独查询每个表?

我尝试的是设置一个抽象超级类(使用@MappedSuperClass),但这需要大量文件继承这个类,唯一的区别是@table(name=“db01.table1”)、@table(name=“db02.table1”)...参考资料。

非常感谢任何指点!

共有1个答案

师向文
2023-03-14

我建议定义多个数据源,并立即交换它们。不需要乘类。

例如。这种方法基于org.springframework.aop.target.HotSwappableTargetSource

 类似资料:
  • 刚开始,我正在为一个应用程序创建一个数据库。由于模式在视觉上变得非常复杂,在多个模式中具有相同的user_table是可能的/可行的/推荐的吗? 例如,blogging模式将具有user_table和与此activity相关的其余表。购物模式将再次具有相同的user_table和表来管理购物activity。等等... 目标是将不同模式中的大量表分离开来,从而简化整体管理。 在另一篇文章中,有人建

  • 我有一个类CustomerProfile,它映射到一个表CUST_PROFILE。我们需要在一个单独的表中维护关闭的概要文件,该表将具有相同的模式。我在SO中读过很多问题,特别是下面的问题(下面有一个总结了很多类似问题的答案) 每个实体Hibernate两个表 从中我可以理解,使用MappedSuperclass以外的注释很难获得相同的结果。但可以使用xml映射。 我之所以不愿使用Mappedsu

  • 我已经仔细阅读了飞行路线文档,但我不清楚我想要的场景是否可行。我需要在同一数据库中修补许多相同的模式,但在编写sql脚本时,我不知道所有的模式名称。 我知道架构参数,但常见问题解答中提到的2种可能的策略不适用于我的方案。 这个场景类似于大学为学生提供模式: 我想为对象提供没有模式前缀的sql脚本 每个架构都应该有自己的schema_version表 在飞行方式:迁移模式参数中定义的每个模式都应该单

  • 问题内容: 我的table1和table2具有相同的架构…,我只想拥有一个实体,而不是两个(因为字段将是相同的)。在XML映射的hibernate状态下,我将如何实现这一点。所以我的目标是当我在DAO中进行查询时,如果两个表都映射到同一实体,它将如何知道要从哪个表中提取。 我试图不创建父类,然后再创建两个子类。 谢谢 问题答案: 抱歉回复晚了。我已经在stackoverflow上回答了几次这个问题

  • 我们的redisson.yaml文件内容: 我们使用hibernate与postgresql数据库交互,它是我们的hibernate连接属性文件内容:

  • 问题内容: 我尝试了使用“注释”对Hibernate进行“多对多映射”以及vaannila中给出的示例。 http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-many- to-many-using-annotations-1.html 这个东西工作正常。但是,如果我稍后尝试向现有的学生添加另一门课程, 它在表中