早上好,我遇到了问题!
我的项目是多租户,我使用SPRING JPA + SPRINGBOOT + POSTGRES。 它包含一个数据库管理器,每个租户都有自己的数据库。
问题开始于租户的数据库内部,我对数据管理器数据库有意见。
例如,在数据库管理器内部,我有信息可用于登录租户的用户。但是在每个租户的数据库中应该能够拥有其用户的信息。租户数据库中的用户可以拥有更多数据!
做到这一点的最佳方法是什么?我应该创建视图吗?
此外,此应用程序非常流行,因此其想法是数据库的使用非常动态。
先谢谢您!任何贡献都会有所帮助。
答案 0 :(得分:0)
是的,最好的解决方案是创建视图,在其中获取所需的所有数据,并且已经为租户过滤了数据。
编辑:
您必须在数据库上创建视图,然后将其映射为只读实体或仅将其与SQL一起使用。
要拥有只读实体,可以使用休眠@Immutable
注释。
请在Hibernate文档中找到更多信息:https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#entity-immutability