我有一个名为实体关系的表。它将受赠者映射到其角色。在某种程度上一个用户可以有多个角色,一个角色也可以有多个角色,举个小例子:
+-----------+-----------+--+
| Grantee | Role | |
+-----------+-----------+--+
| SQL_User1 | SQL_Role1 | |
| SQL_User1 | SQL_Role2 | |
| SQL_Role1 | SQL_Role3 | |
| SQL_Role3 | SQL_Role4 | |
+-----------+-----------+--+
现在我想创建 SQL 查询来查找实体的所有可能关系。例如上面的:
SQL_User1 -> SQL_Role1, SQL_Role2, SQL_Role3, SQL_Role4
SQL_Role1 -> SQL_Role3
SQL_Role3 -> SQL_Role4
我知道一种通过递归在 Java 中执行此操作的方法,但在我看来,如果有一种通过查询执行此操作的有效方法,它会快得多。
有什么好的方法吗?
它会比Java递归实现更快吗?
谢谢。