我在Hibernate中遇到问题,我想创建一个与另一个表相关的表,但是当我生成它时,外键是错误的。
Hibernate是否有错误?
这是我用来生成外键的代码:
@Id
@JsonProperty("account")
@OneToOne
@JoinColumns({
@JoinColumn(
name = "ACCOUNTCODE_K",
referencedColumnName = "CODE_K"/*, insertable = false, updatable = false*/),
@JoinColumn(
name = "INVOICEDEBTOR_K",
referencedColumnName = "INVOICEDEBTOR_K"/*, insertable = false, updatable = false*/)
})
@javax.validation.constraints.NotNull(message="El campo no puede ser nulo")
private Account account;
这是数据库中生成的DDL:
ALTER TABLE "INVOICES"."ACCOUNTBIEN_T"
ADD CONSTRAINT "FKSWGAGEC55PBL7KIHFE19FWBLO" FOREIGN KEY
("ACCOUNTCODE_K",
"INVOICEDEBTOR_K")
REFERENCES "INVOICES"."ACCOUNT_T"
("INVOICEDEBTOR_K",
"CODE_K")
ON DELETE NO ACTION
ON UPDATE NO ACTION
ENFORCED
ENABLE QUERY OPTIMIZATION ;
您会看到ACCOUNTCODE_K引用INVOICEDEBTOR_K,而另一个引用INVOICEDEBTOR_K则引用CODE_K和INVOICEDEBTOR_K。
感谢帮助。