【发布时间】:2019-10-31 16:04:54
【问题描述】:
所以正如标题所示——我需要创建一个应用程序(最好是 Spring Boot),它将根据用户输入创建模式和表。基本上,将向客户端提供一个休息端点,他们将以 json 格式上传他们的数据模型。我将在运行时解析 json 并构建数据库工件(模式和表)。创建完所有表后,向客户端提供一个休息端点(具有唯一标识符),以对其架构执行 CRUD 操作。
我目前正在考虑的方法是-
在 db 中创建一个超级用户,然后再部署具有创建新模式和 db 权限的应用程序
创建准备好的语句以按需调用架构/表创建。准备好的语句将有占位符来获取模式名称和表定义。
经过适当的身份验证后,允许用户以 json 格式上传他们的数据模型定义。
清理 json 并调用架构/表创建准备好的语句。
我想到的几个问题 -
由于所有这些数据库操作都将从单个超级用户的帐户调用,是否安全?
模式和表将使用本机 SQL 查询而不是 Hibernate 的 ORM 功能来实现。它安全/高效吗?
对于 CRUD 操作,是否可以将 db 连接从超级用户切换到前面步骤中创建的客户端特定模式?还是应该继续使用相同的超级用户进行 CRUD 操作? 如果可以在运行时使用 Hibernate/Spring-Boot 切换模式,那就太好了。
我想要的是解决这个问题的一般方法。我不需要任何代码。
【问题讨论】:
标签: java database spring hibernate spring-boot