目前正在进行一个项目,我的Spring Boot项目需要在同一个DB服务器中利用多个数据源或模式。我发现了几个在spring boot中教授多数据源配置的教程,其中实体foo存在于数据源A中,bar存在于数据源B中,即下面的内容。,
https://scattercode.co.uk/2016/01/05/multiple-databases-with-spring-boot-和spring数据jpa/https://scattercode.co.uk/2013/11/18/spring-data-multiple-databases/ https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7
但我的用例是实体foo和bar存在于多个模式中,我想使用单个实体和存储库来访问所有模式。数据不会在所有模式中复制。它在它们之间进行划分。
因此,如果我需要搜索用户John Doe,我必须遍历模式1,如果找不到他,则转到下一个模式。
我已经尝试了以上所有的教程(尽管它们与我的用例不一致),希望我能破解它,使其作为概念证明工作。我还研究了AbstractRoutingDataSource(http://fizzylogic.nl/2016/01/24/make-your-spring-boot-application-multi-tenant-aware-in-2-steps/ , http://kimrudolph.de/blog/spring-datasource-routing)和多重性,但这两者都谈到在任何时间点访问单个模式。我只需要一些指导或链接来遵循并实现这一点。
提前谢谢。
通过使用解决问题https://github.com/wmeints/spring-multi-tenant-demo.
谢谢@surya的推荐。
您需要查看AbstractRoutingDataSource并使用它。
因此,如果我需要搜索用户John Doe,我必须遍历模式1,如果找不到他,则转到下一个模式。
所以你们需要在第一个模式中搜索,若并没有找到,那个么继续下一个模式。
在上述链接中给出的示例中,
CustomerContextHolder.setCustomerType(CustomerType.GOLD);
List<Item> items = catalog.getItems();
if(isEmpty(goldItems)){
CustomerContextHolder.setCustomerType(CustomerType.SILVER);
items = catalog.getItems();
}
更多细节可以在这里的另一个qn中找到
问题内容: 假设我使用实体框架6的asp.net mvc 5应用具有以下模型结构 当我有这样的模型时,这些模型可以很好地工作,它们之间有关系,并且一切都像热的软糖圣代一样美味。当我运行此命令时,数据库将创建这些表,并且RevenueAmounts表将为ContracRevenue和AdvertisementRevenue获得2个自动生成的外键列。 但是,我不希望使用这些名称,因为它们的名称很奇怪(
我试图在我的实体中有两个相同域类的字段,但我得到了这个错误: org.hibernate.mappingException:无法确定表:Outhories中:com.packt.webapp.domain.user的类型,列:[org.hibernate.mapping.column(author)] 我只想将意见映射到已评论的用户,并将评论的作者存储在字段中。当我移除字段时,一切正常。这个例子有
我正在使用java。util。ServiceLoader创建轻量级插件框架。 我目前正在努力解决如何拥有多个具有相同FQN的实现类。我想在类路径上拥有同一个插件的两个副本,并且可以访问META-INF/services目录中给出的两个实现类。 以下是一些简单的eclipse项目,它们说明了我的意思:https://docs.google.com/open?id=0B4MxFm-ACB3IUmswN
我正在使用的数据库有许多具有相同列但(显然)具有不同表名的表(不是我设计的)。例如(这些是数据库表名): 有没有可能用JPA和Hibernate将这些映射到一个Java类实体?类的名称是,然后在使用它时传入例如,以便对象使用表? 还是只使用普通的、普通的Java对象来完成这样的任务更好? 谢谢你!
问题内容: 我有3个具有ManyToMany关系的实体: 角色实体: 权限实体: 功能实体: 我做了以下事情: 我创建了3个功能: 然后创建2个权限: Permission2 with Functionality2, Functionality3 然后创建一个角色: 我收到以下异常: java.lang.IllegalStateException:同一实体[com.persistence.enti
问题内容: 好的,这是我的难题,我建立了一个数据库,其中包含约5个表,所有表的数据结构完全相同。出于本地化的目的,以这种方式分离了数据,并总共分割了约450万条记录。 在大多数情况下,只需要一张桌子就可以了。但是,有时需要两个或多个表中的数据,并且需要按用户定义的列对数据进行排序。这就是我遇到的问题。 数据列: MySQL陈述: MySQL吐出这个错误: 显然,我做错了。有人愿意为我阐明一下吗?