我有一个运行多个dbs的mysql服务器,它们有一些完全相同的表(不要问,我继承了这个项目):
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&# 34;),@ Table(名称=" DB02.table1")...参考。
任何指针都非常感谢!
答案 0 :(得分:0)
我建议定义多个DataSource并在飞行中交换它们。无需繁殖课程。
E.g。 this approach基于org.springframework.aop.target.HotSwappableTargetSource