我的数据库(instance_main
)中有1个表,需要在另一个数据库(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
的多对多关系。到目前为止,我已经尝试过了,但是它总是返回空结果。任何帮助,我们将不胜感激。
@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 最佳答案
同意阿迪的评论-根据Doing a join over 2 tables in different databases using Hibernate中提到的原因,此操作无法完成。
(主要发布此答案,以试图使该问题获得更多关注/竞争性答案,或者至少将其从不断增加的未回答问题列表中删除。)