有没有一种方法可以用hibernate定义应该在哪个租户中创建哪个实体?因为对于不同的租户,表并不相同。
第二个问题是,是否可以配置(也可以使用休眠方式)我想要从tenant1访问tenant2表。
我使用嵌入式h2数据库。我想使用hibernate.hbm2ddl.auto自动创建表,并用flyway迁移文件填充这些表。
答案 0 :(得分:0)
好吧,我在Spring中使用了多租户架构,可以为您提供帮助。
1:如果针对不同租户的表不同,则可以在实体上使用TenantFilter,也可以在schema.sql中定义自定义架构,然后使用JdbcTemplate执行SQL。
与第一个选项相比,我更喜欢第二个选项,因为它可以确保正确的架构创建。
2:您可以使用TenantContext从tenant1切换到tenant2,一旦处理完成,就可以切换回tenant1。
在GitHub上有很多关于多租户的带有Spring Boot的演示项目,您可以在那里查看。