请看下这两个Hibernate映射文件:
-----------------------------------------------Admin.hbm.xml----------------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entity">    <class name="Admin" table="gt_admin">
        <id name="id" type="long">
            <generator class="native" />
        </id>
        <property name="name" type="string" length="32" />
        <property name="loginName" type="string" length="10" unique="true" />
        <property name="loginPassword" type="string" length="32"/>
        <property name="phone" type="string" length="32"/>
        <property name="email" type="string" length="32"/>
        <property name="enrollDate" type="date" />
        <set name="modules" table="gt_admin_module" lazy="false"  cascade="all" >
            <key>
                <column name="admin_id"></column>
            </key>
            <many-to-many column="module_id" class="Module"></many-to-many>
        </set>
    </class>
</hibernate-mapping>
----------------------------------------------Module.hbm.xml----------------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entity">    <class name="Module" table="gt_module">
        <id name="id" type="long">
            <generator class="native" />
        </id>
        <property name="name" type="string" length="32" />
        <property name="user_flag" type="int" />
    </class>
</hibernate-mapping>-----------------------------------------------------------------------------------------------------------
Module是功能模块类,Admin是管理员类,我将它们设置为多对多的关系,也就是说一个管理员可以有多个功能模块,一个功能模块也可以让多个管理员拥有。然后我测试时,增加和更新Module和Admin类都没错,可是删除Admin类时出错了,报的错误是因为外键约束的原因。数据库中的表我是采用 Hibernate自动生成的方式创建的。发生这种错误我可以理解,因为我删除module表记录的时候没有先删除admin_module表的记录,可是admin_module这个表它不是一个实体,而Hibernate中的hql语句都是对实体类操作的,我无法对admin_module这个表操作,我该怎么办?我是用的SSH结构,对Hibernate的使用时通过Spring提供的HibernateTemplate类操作的。谢谢大家的热心帮助^_^