Java 使用Spring数据/Hibernate:ORA-01407删除:无法更新为Null

Java 使用Spring数据/Hibernate:ORA-01407删除:无法更新为Null,java,spring,oracle,hibernate,Java,Spring,Oracle,Hibernate,我正在尝试使用中的deleteAll()方法从数据库中删除某个表中的行 当我这样做时,我得到了与我的狗表,row DOG_OWNER相关的错误: ORA-01407: Cannot update DOG_OWNER to Null 修复程序是否只是为了删除此行上的非空约束,或者是否有其他解决方法?下面是一个简化场景,该场景使用外键不可为空,并使用on DELETE SET null上的约束,这将导致删除引用键后报告的错误 在这种情况下,确实有助于解除外键上的notnull约束 create t

我正在尝试使用中的
deleteAll()
方法从数据库中删除某个表中的行

当我这样做时,我得到了与我的狗表,row DOG_OWNER相关的错误:

ORA-01407: Cannot update DOG_OWNER to Null

修复程序是否只是为了删除此行上的
非空约束
,或者是否有其他解决方法?

下面是一个简化场景,该场景使用
外键
不可为空,并使用
on DELETE SET null
上的约束,这将导致删除引用键后报告的错误

在这种情况下,确实有助于解除外键上的
notnull
约束

create table dog_owner 
(id number);
alter table dog_owner add  primary key (id);
insert into dog_owner values (1);

create table dog 
(id number,
dog_owner_id number not null); -- foreign key is not nullable ..
alter table dog add  primary key (id);
alter table dog add  foreign key (dog_owner_id) references dog_owner(id) 
ON DELETE SET NULL; -- but the contrains sets is to null...

insert into dog values (1,1);
commit;

delete from dog_owner where id = 1;

-- SQL-Fehler: ORA-01407: cannot update ("SCHEMA_NAME"."DOG"."DOG_OWNER_ID") to NULL 

alter table dog modify (dog_owner_id number  null);

delete from dog_owner where id = 1;

-- 1 rows deleted

添加相关实体和执行
deleteAll
操作的代码如果
DOG\u OWNER
不可为空,则应删除引用的
DOG
条目,因为DOG\u OWNER是行,我正在尝试删除DOG表中的行如果日志中有休眠的sql打印设置,您能用日志中的sql更新您的问题吗?