【问题标题】:Same tables in multiple Schemas in HibernateHibernate 中多个模式中的相同表
【发布时间】:2015-12-01 21:30:55
【问题描述】:

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

DB01、DB02、DB03有下表:

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")... 参考。

任何指针都非常感谢!

【问题讨论】:

    标签: java mysql hibernate


    【解决方案1】:

    我建议定义多个数据源并即时交换它们。无需增加类。

    例如this approach 基于org.springframework.aop.target.HotSwappableTargetSource

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2012-01-15
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多