アプリケーションに Hibernate 3.2.5 を使用しています。
私はDept
テーブルとテーブルを持っていEmployees
ます。
部門.java
private int deptId;
private String deptName;
private Map empMap = new HashMap();
//Getters and Setters
従業員.java
private int empId;
private String empName;
private int deptId;
private int age;
private String sex;
private Dept dept;
//Getters and Setters
これら 2 つの間の関連付け:
<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>
以下のステートメントを試すと:
Query hqlQuery = session.createQuery("from Dept dept where dept.empMap.empName = 'XYZ'");
以下の例外が発生しています。
org.hibernate.QueryException: illegal attempt to dereference collection [dept0_.DEPT_ID.empMap] with element property reference [empName] [from com.jdbc.Dept dept where dept.empMap.empName = 'XYZ']
ここで暗黙の結合を使用する方法を教えてください。ドキュメントを読んでも、何が欠けているのかわかりません。