我正在使用jOOQ来生成我的SQL查询,我想知道是否有办法在我的应用程序执行的所有查询中注入一个条件。
例如,我希望在应用程序执行的所有account = {accountNameHere}
中都有类似SELECT
的内容。由于我已经有了大量不同的查询,我想在不手动将条件添加到每个语句的情况下这样做。
有没有办法轻松使用jOOQ?也许使用VisitListener?
答案 0 :(得分:1)
是的,VisitListener将是将自定义谓词注入所有SELECT
语句(当然包括子查询)的最彻底的方法。事实上,您正在寻找的内容有时被称为“行级安全性”(RDBMS本身支持,如Oracle或SQL Server)。
以下博客文章介绍了如何通过VisitListener
:
http://blog.jooq.org/2015/06/17/implementing-client-side-row-level-security-with-jooq