我需要在特定的 jdbc 数据源之上向用户公开一个类似 SQL 的引擎。每个用户应该只能看到来自该 jdbc 数据源的特定过滤数据。
因此,当特定用户针对数据源运行 SQL 时,例如:
select * from table where column = value
引擎应该执行相当增强的查询:
select * from (select * from table where user = specific_user) where column = value
我已经开始摆弄方解石 - 如何用它实现这样的逻辑?我应该在 JDBCSchema 之上添加自定义 View 还是尝试构建一些委托(delegate)给 JDBCSchema 的新架构?
最佳答案
是否预先知道要过滤的表列表(以及保存用户名的列)?如果是这样,您可以构建一个 JSON model file包含手写 View 定义。
关于java - 围绕 jdbc 的方解石模式以及每个用户的过滤表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46563082/