netbeans org.hibernate.MappingException:关联引用未Map的类:empresa.Empleados

q0qdq0h2  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(110)

我有一个在Mysql中有两个表的Hibernate配置,Pojo的配置文件如下:

<hibernate-mapping>
    <class name="empresa.Departamentos" table="departamentos" catalog="empresa2" optimistic-lock="version">
        <id name="deptno" type="int">
            <column name="deptno" />
            <generator class="assigned" />
        </id>
        <property name="dnombre" type="string">
            <column name="dnombre" length="15" />
        </property>
        <property name="loc" type="string">
            <column name="loc" length="15" />
        </property>
        <set name="empleadoses" table="empleados" inverse="true" lazy="true" fetch="select">
            <key>
                <column name="deptno" not-null="true" />
            </key>
            <one-to-many class="empresa.Empleados" />
        </set>
    </class>
</hibernate-mapping>
<hibernate-mapping>
    <class name="empresa.Empleados" table="empleados" catalog="empresa2" optimistic-lock="version">
        <id name="empno" type="short">
            <column name="empno" />
            <generator class="assigned" />
        </id>
        <many-to-one name="departamentos" class="empresa.Departamentos" fetch="select">
            <column name="deptno" not-null="true" />
        </many-to-one>
        <property name="apellido" type="string">
            <column name="apellido" length="10" />
        </property>
        <property name="oficio" type="string">
            <column name="oficio" length="10" />
        </property>
        <property name="dir" type="java.lang.Short">
            <column name="dir" />
        </property>
        <property name="fechaalt" type="date">
            <column name="fechaalt" length="10" />
        </property>
        <property name="salario" type="java.lang.Float">
            <column name="salario" precision="6" />
        </property>
        <property name="comision" type="java.lang.Float">
            <column name="comision" precision="6" />
        </property>
    </class>
</hibernate-mapping>

接下来,当我在hql中执行以下语句时:从雇员e中选择e,其中e.departamentos.deptno在(从部门d中选择d.deptno,其中d.loc ='London')中,它给我以下错误:org.hibernate.MappingException:关联引用未Map的类:请参阅以下网址:http://www.hibernate.com.cn。请参阅以下网址:http://www.hibernate.com.cn。

rkkpypqq

rkkpypqq1#

解决的办法是:

select e.apellido 
from Empleados e 
where e.departamentos.deptno in 
  (select d.deptno 
   from Departamentos d 
   where d.loc='Sevilla')

相关问题