Hibernate创建了自动中断约束

时间:2018-08-01 11:55:08

标签: java hibernate jpa

所以我有3个类,CategoryQuestionComment。 这两个类都与OneToManyComment关系。

出于某种原因,Hibernate决定对Comment施加约束,导致以下异常:

ERROR: insert or update on table "comment" violates foreign key constraint "fknapu44p12w4v7wreaog7vgc80"
Detail: Key (q_comment)=(03f7ed17-4fa1-48d9-ac17-9842e233fde4) is not present in table "category".

QuestionCategory都必须遵循以下代码:

@OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
@JoinColumn(name = "t_comment")
@LazyCollection(LazyCollectionOption.FALSE)
private List<Comment> comment;

似乎我可以用列表中的新Category正确保存Comment对象,但是当我对Question进行相同操作时,它就会中断

那么,有谁知道这可能是什么原因造成的?

要澄清:由hibernate创建的表生成了以下sql:

create table category (id varchar(255) not null, color varchar(7), name varchar(255), parent_questionnaire varchar(255), primary key (id))
create table comment (id varchar(255) not null, comment varchar(2048), timestamp int8, sent_by varchar(255), session varchar(255), t_recommendation varchar(255), t_comment varchar(255), primary key (id))
create table question (id varchar(255) not null, question varchar(255), type int4, parent_category varchar(255), primary key (id))
alter table if exists comment add constraint FKnapu44p12w4v7wreaog7vgc80 foreign key (t_comment) references category

0 个答案:

没有答案