在我的应用程序中,我需要将外键保存为null。但是后台jpa在主表中创建一个主键,然后将该id保存在外键表中。但我需要为我的应用程序标准保存空值。 我的外键表在这里..
@JsonIgnoreProperties({"courses","handler","hibernateLazyInitializer"})
@ManyToOne(cascade = CascadeType.ALL, optional=true)
@JoinColumn(columnDefinition="Long default null",name = "ref_id")
private Reference ref;
@JsonIgnoreProperties({"courses","authorName","edition"})
@ManyToOne(cascade = {CascadeType.DETACH})
@JoinColumn(name = "book_id")
private Book books;
@JsonIgnoreProperties({"books","handler","hibernateLazyInitializer"})
@ManyToOne(cascade = {CascadeType.DETACH})
@JoinColumn(name = "ch_id")
private Chapter chapters;
主键表
@JsonIgnore
@OneToMany(mappedBy = "ref", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<QuestionerDefination> questionerDefinations;
我的商务标准是&#34;当我保存book id时,refId应为null,当我保存ref_id时,book id应为null&#34;
我尝试插入数据jpa本机查询但是当我尝试保存空值时,postgres会产生异常&#34;整数但表达式的类型为bytea&#34;所以我无法保存数据。
如何使用空值保存外键?你能告诉我PLZ吗? 谢谢。