Mysql hql:与Map的内部连接<;关键、价值>;并在选择中访问密钥和值?

Mysql hql:与Map的内部连接<;关键、价值>;并在选择中访问密钥和值?,mysql,hibernate,map,hql,inner-join,Mysql,Hibernate,Map,Hql,Inner Join,这是一个问题 public class Company { private Map<Location, Manager> locationManagerMap; } 现在假设我想通过使用hql查询和子查询来检索一家公司的所有工作分配列表,如下所示 String query = "select from Assignment as assignment where (assignment.location, assignmen

这是一个问题

    public class Company
    {
            private Map<Location, Manager> locationManagerMap;
    } 
现在假设我想通过使用hql查询和子查询来检索一家公司的所有工作分配列表,如下所示

    String query = "select from Assignment as assignment where (assignment.location, assignment.manager) in (select locationManager._____________ from Company as company inner join  company.locationManagerMap as locationManager where company.id=?) "

在上面查询的子查询中,company与locationManagerMap进行内部联接。我想访问此映射的键和值以执行多列条件检查。请建议查询中空白处的语法应该是什么?

应该是这样的:

... index(locationManager), locationManager ...

应该是这样的:

... index(locationManager), locationManager ...

在hibernate手册中,索引函数用于列表。函数返回元素在列表中的位置,如1,2,3,。。。我怀疑index()是否会在case集合映射中返回键。您能给我一个验证的参考吗?或者让您自己验证。@Maddy:当我签出它时,它也返回了映射键。在hibernate手册中,无论引用什么索引函数,它都用于列表。函数返回元素在列表中的位置,如1,2,3,。。。我怀疑index()是否会在case集合映射中返回键。你能不能给我一个参考来验证,或者让你自己验证。@Maddy:当我签出时,它也返回了地图密钥。