我如何在单个应用程序中使用多个数据源来分离公司的明智数据

时间:2019-03-31 09:36:32

标签: java spring-data eclipselink

现在说我的实体模型如下

@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Builder(builderClassName = "Builder", toBuilder = true)
@Entity
@Table(name = "clients")
public class Client extends Person {
    @Column(name = "initials")
    private String initials;

    @Column(name = "prefix")
    private String prefix;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "company_Id")
    private Company company;
}

所有记录当前与单个数据源一起存储在同一表中。但是我想改变这个。我希望每个公司都有相同的数据库,并且公司特定的数据将插入到以下公司数据库中。但是服务和存储库方法将是相同的。我希望以无需更改我的服务和存储库方法的方式来实现这一目标。

从这个链接我几乎没有想法。 https://blogs.sap.com/2016/12/19/developing-multi-tenant-applications-on-hcp-persistence-multitenancy-part-4/。但我想要有关实施的更复杂的准则。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

最后使用休眠作为ORM并使用多租户能够在mysql数据库中解决此问题。 eclipse链接不支持使用mysql的多租户。它们需要Oracle Rack。