系统中有个基础数据表BasicTable,现在有其它模块使用这些数据(ReferTable1, ReferTable2),如何在删除基础数据前判断该记录是否已经被使用?以后可能会有ReferTable3...,如果有外键依赖在删除时会抛出异常。

解决方案 »

  1.   

    在一的一方配置文件中配置一个级联属性,设为all。
      

  2.   

    代码给你贴出来:
    <set name="多的一方类名" inverse="true" cascade="all">
       <key column="">
       <one-to-many class="">
    </set>
      

  3.   

    inverse="true" cascade="all",是说关系由多放维护,任何操作都做级联。由于业务需要,我并没有在一方配置set,关系由程序区维护。我只是想判断一方的记录是否正在被多放使用。
      

  4.   

    给基础表加个字段,当做flg,如果被应用了设置一个值,删除的时候判断就可以
    不知道适不适用你的要求