我的数据库中有一个表(instance_main
),我需要在另一个数据库(instance_core
)内连接。通常我会使用这样的东西。
SELECT
instance_core.cnm.MenuID,
instance_core.cnm.NavigationID,
instance_core.cnm.StackView,
instance_core.cnm.StackClass,
instance_core.cnm.IsAdmin
FROM
instance_core.CoreNavigationMenu cnm
INNER JOIN instance_main.ACLGroupPermissions gp ON instance_core.cnm.MenuID = instance_main.gp.MenuID
WHERE instance_main.gp.GroupID = 1
我没有从ACLGroupPermissions
到CoreNavigationMenu
的多对多关系。
到目前为止,我已尝试过此操作,但它始终返回null结果。非常感谢任何帮助。
@Override
public List<CoreNavigationMenu> getPermissions(AclGroup dataObject) {
List<CoreNavigationMenu> aclList = template.find("FROM CoreNavigationMenu cnm inner join ACLGroupPermissions agp on cnm.MenuID = agp.MenuID WHERE agp.GroupID = ?",dataObject.getGroupId());
return aclList;
}
我的ACLGroupPermissions
实体如下所示:ACLGroupPermission
Entity
我的CoreNavigationMenu
实体如下所示:CoreNavigationMenu
Entity
答案 0 :(得分:1)
同意Adi的评论 - 根据Doing a join over 2 tables in different databases using Hibernate中提到的原因,这是无法做到的。
(主要是发布这个答案,试图让这个问题得到一些额外的关注/竞争性答案,或者至少,只是将其从未解决的问题列表中删除。)