我使用一对一关系(数据库的两张表没有设置级联关系)。配置文件如下
Tstudent.hbm.xml
<hibernate-mapping>
    <class name="com.wangwz.one2one.bean.Tstudent" table="TSTUDENT" schema="CNFOL">
        <id name="sid" type="long">
            <column name="SID" precision="6" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="sname" type="java.lang.String">
            <column name="SNAME" length="10" />
        </property>
        
        <one-to-one name="address" class="com.wangwz.one2one.bean.Taddress" cascade="all"/>
    </class>
</hibernate-mapping>Taddress.hbm.xml
<hibernate-mapping>
    <class name="com.wangwz.one2one.bean.Taddress" table="TADDRESS" schema="CNFOL">
        <id name="sid" type="long">
            <column name="SID" precision="6" scale="0" />
            <generator class="foreign">
              <param name="property">student</param>
            </generator>
        </id>
        <property name="address" type="java.lang.String">
            <column name="ADDRESS" length="20" />
        </property>
        
        <one-to-one name="student" class="com.wangwz.one2one.bean.Tstudent" constrained="true" cascade="none"/>
    </class>
</hibernate-mapping>我用load方法得到Tstudent对象后,再删除,是有起来级联删除的作用;
语句:session.delete(session.load(Tstudent.class,new Long(2)));成功
但用我hql删除就起不到级联删的作用了。这是为什么?
hql = "delete from Tstudent where sid=2";此句不能产生级联删除的作用