在运行时更改MySQL模式

时间:2018-12-11 10:35:53

标签: java mysql hibernate spring-boot jpa

我有一个多租户应用程序。这是一个学校管理系统。 该应用程序被配置为使用每租户架构方法。但这仅限于每个请求一个模式访问。我想针对每个请求使用三种不同的架构。

每个用户都有两个模式和一个应用程序范围内的通用模式。总共3个。我想让我的应用程序可以在一个rest调用下在所有三个架构之间切换。 例如,如果请求是要添加新学生,则必须将学生添加到SCHEMA_A,必须将学生自动生成的用户帐户添加到COMMON_SCHEMA,并且将StudentId添加到SCHEMA_B中的班级。 目前,我使用

entityManager.createNativeQuery("USE SCHEMA_A").executeUpdate();
add(student);

entityManager.createNativeQuery("USE COMMON_SCHEMA").executeUpdate();
add(generateUserForStudent(student));

entityManager.createNativeQuery("USE SCHEMA_B").executeUpdate();
addStudentToClass(student);

有效。

但是我想知道这是否是一种有效的方法。

我也不确定在同时登录多个用户时是否会引起冲突。

有人可以指导我吗?

0 个答案:

没有答案