表str     banjistr 里有一个 bj字段 为外键我通过str.bj.name 来获得学生的班级名字,
如果我删除班级了,在得到这个信息时就出异常,我想问下你们都怎么处理类似的问题啊,?

解决方案 »

  1.   

    把你的hbm文件,两个表里都有什么字段,写详细点
      

  2.   

    你的hbm.xml中没有设计级联,也有可能没配置好,把级连的属性设置成delete或者all,inverse属性也换下
      

  3.   

    这好象不是Hibernate框架的问题
    纯粹是数据库操作的问题,试想一下,你在数据库中删除了班级,以班级为外键的那些记录的班级段怎么显示?
    为空?不允许?
      

  4.   

            <many-to-one name="bj" class="com.domain.BanJi" fetch="select">
                <column name="BANJIN" length="32" />
            </many-to-one>
    就是外键了,假如删除了班级,那学生的班级就找不到了,会出错,
    我是问你们都怎么处理啊,删除这个学生吗?还是把学生的班级设为空?还是??
      

  5.   

    数据库设计问题,外键删除一般都级联删除,若不级联删除最好将str的外键字段值设为空!
      

  6.   

    Hibernate里可以配置级联删除,,自动删除与之相关联的记录..