Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HQL:隐式关联加入不起作用_Java_Hibernate_Orm_Hql - Fatal编程技术网

Java HQL:隐式关联加入不起作用

Java HQL:隐式关联加入不起作用,java,hibernate,orm,hql,Java,Hibernate,Orm,Hql,我正在为我的应用程序使用Hibernate 3.2.5 我有一个Dept表和一个Employees表 Dept.java private int deptId; private String deptName; private Map empMap = new HashMap(); //Getters and Setters private int empId; private String empName; private int deptId; private int age; priva

我正在为我的应用程序使用Hibernate 3.2.5

我有一个
Dept
表和一个
Employees

Dept.java

private int deptId;
private String deptName;
private Map empMap = new HashMap();
//Getters and Setters
private int empId;
private String empName;
private int deptId;
private int age;
private String sex;
private Dept dept;
//Getters and Setters
Employees.java

private int deptId;
private String deptName;
private Map empMap = new HashMap();
//Getters and Setters
private int empId;
private String empName;
private int deptId;
private int age;
private String sex;
private Dept dept;
//Getters and Setters
这两者之间的联系:

<map name="empMap" inverse="false" cascade="all">
      <key column="DEPT_ID"></key>
      <map-key formula="EMP_ID" type="integer"></map-key>
      <one-to-many class="com.jdbc.Employees"/>
  </map>
我得到以下例外情况:

org.hibernate.QueryException:非法尝试使用元素属性引用[empName][from com.jdbc.DEPT where DEPT.empMap.empName='XYZ',取消对集合[dept0\uu.DEPT\u ID.empMap]的引用。


请让我知道如何使用这里的隐式连接。阅读文档时,我无法找出我缺少的内容。

您正在尝试访问类似于属性的集合。您可以这样做:

from Dept dept inner join dept.empMap emp where emp.empName = 'XYZ'

谢谢你的回复,效果很好。在结束线程之前需要澄清一件事:我在Hibernate文档的HQL部分看到了这个查询:
在这个查询中选择cust.name.firstName作为cust
,如果
name
客户
类的
字符串
类型属性,那么
firstName
是什么?请澄清。谢谢
名称
不能是
字符串
,我认为这是一种组件类型,即另一个类。