私のデータベースには、別のデータベース(instance_core
)で内部結合が必要なデータベースが1つあります(instance_main
)。通常、私はこのようなものを使用します。データベース間のHibernate内部結合
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
あなたはそれを行うことはできませんhttp://stackoverflow.com/questions/3552330/doing-a-join-over-2-tables-in-different-databases-using-hibernate – Adi