第一步
create table customer(
customerid varchar2(32) primary key,
name varchar2(32));
 create table recomment(
 recommentId varchar2(32) primary key,
 content varchar2(128),
 customerid varchar2(32));alter table recomment
add constraint fk_r_c
foreign key(customerid)
references customer(customerid)
on delete cascade第二步,
然后customer表中存入('1','test')
  recomment表中存入('1','test','1')
第三步,
删除 customer表中的记录会出现错误 
 违反完整约束条件 (SYSTEM.FKE10E20AC36D8F789) - 已找到子记录日志请大家帮忙!

解决方案 »

  1.   

    举个例子,假如要删除customer表中customerid=‘1’的记录,必须先删除recomment表中customerid=‘1’的相应的记录,才可以删除customer表的对应记录。
    也可以在customer建一个触发器,但是思路也是先删除recomment表中的记录,再删除customer表中的记录
      

  2.   

    违反的不是你定义的外键约束,而是这样一个系统命名的约束:SYSTEM.FKE10E20AC36D8F789。
    检查一下他是怎么形成的。
      

  3.   

    4楼说的不错
    其实这两个表之间的外键特性是删除 recomment中的记录,customer中的内容会同时删除
    但删除cusotmer,recomment中的记录不受影响
    sql语句是没有问题的
    问题是这些语句都是hibernate最后编译出来的,但是执行时候会出现如上错误,所以是问题出在hibernate的内部实现机制上,不管怎么说,感谢楼上同志们的热心解答,尤其是四楼同志