from Classes c where c.id not in(select t.classes.id from Teacher t where t.id=:teacherid) 
该教师没有教的班级
哪里错了?

解决方案 »

  1.   

    from Classes c where c.id not in(select t.classesid from Teacher t where t.id=:teacherid) 
      

  2.   

    不行呀
    ps:Teacher和Classes是多对多的关系,我现在要查找不被特定教师管理的班级
       teacher.hbm.xml
        <hibernate-mapping package="org.possible.exam.struts.model">
     <class name="Teacher" table="teacher">
      <id name="id">
       <generator class="uuid.hex"/>
      </id>
      <property generated="never" lazy="false" name="name"/>
      <property generated="never" lazy="false" name="password"/>
      <property generated="never" lazy="false" name="fullName"/>
      <set name="classes" sort="unsorted" table="teacher_class">
       <key column="teacher_id"/>
       <many-to-many class="Classes" column="class_id" unique="false"/>
      </set>
    </class> 
    </hibernate-mapping>classes.hbm.xml
    <hibernate-mapping package="org.possible.exam.struts.model">
    <class name="Classes" table="classes">
    <id name="id">
    <generator class="uuid.hex"></generator>
    </id>
    <property name="title"></property>
    <set name="students">
    <key column="class_id"></key>
    <one-to-many class="Student"/>
    </set>
    <set name="teachers" table="teacher_class">
    <key column="class_id"></key>
    <many-to-many column="teacher_id" class="Teacher"></many-to-many>
    </set>
    </class>
    </hibernate-mapping>