外键休眠

时间:2019-06-13 15:04:23

标签: java hibernate db2

我在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。

感谢帮助。

0 个答案:

没有答案