hibernate中oracle级联删除问题
问题描述:
我建了两张表,关系为many-to-one
hibernate.cfg.xml
<!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <!-- <property name="hbm2ddl.auto">create</property> --> <property name="hbm2ddl.auto">create</property> <mapping resource="com/ssy/hibernate/bean/Person.hbm.xml"/> <mapping resource="com/ssy/hibernate/bean/Team.hbm.xml"/>
person表
<hibernate-mapping> <class name="com.ssy.hibernate.bean.Person" table="PERSON"> <id name="id" column="pid"> <!--<generator class="native"/>--> <generator class="sequence" > <param name="sequence">person_seq</param> </generator> </id> <property name="name"/> <many-to-one name="team" column="tid" class="com.ssy.hibernate.bean.Team" /> </class> </hibernate-mapping>
team表
<hibernate-mapping> <class name="com.ssy.hibernate.bean.Team" table="TEAM"> <id name="id" column="tid"> <!--<generator class="native"/>--> <generator class="sequence" > <param name="sequence">team_seq</param> </generator> </id> <property name="name"/> </class> </hibernate-mapping>
我现在要实现,删除一个teamid,下面的子记录都被删除,要怎么配置级联删除
答
<hibernate-mapping>
<class name="com.ssy.hibernate.bean.Team" table="TEAM">
<id name="id" column="tid">
<!--<generator class="native"/>-->
<generator class="sequence" >
<param name="sequence">team_seq</param>
</generator>
</id>
<property name="name"/>
<set name="orders" inverse="true" lazy="true" cascade="all-delete-orphan">
</hibernate-mapping>