Java 外键休眠
Hibernate有一个问题,我想创建一个与另一个表相关的表,但是当我生成它时,外键是错误的 Hibernate可能有bug吗 下面是我用来生成外键的代码:Java 外键休眠,java,hibernate,db2,Java,Hibernate,Db2,Hibernate有一个问题,我想创建一个与另一个表相关的表,但是当我生成它时,外键是错误的 Hibernate可能有bug吗 下面是我用来生成外键的代码: @Id @JsonProperty("account") @OneToOne @JoinColumns({ @JoinColumn( name = "ACCOUNTCODE_K", referencedColumnName = "CODE_K"/*, insertable = false, updat
@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的引用代码_K和INVOICEDEBTOR_K
谢谢您的帮助。您自己检查过数据库了吗?我想这只是信息,顺序可能不正确,但参考键应该是正确的。期待你的检查结果。是的,我检查了数据库,foring键是错误的。何塞:有一件事,这应该是@ManyToOne对吗?或者它真的是OneToOne?还有,你使用的是哪个版本的Hibernate/JPA?我们需要关系是OneToOne,我们使用Hibernate的版本5.2.17。最后你自己检查过数据库了吗?我想这只是信息,顺序可能不正确,但参考键应该是正确的。期待你的检查结果。是的,我检查了数据库,foring键是错误的。何塞:一件事,这应该是@ManyToOne对吗?或者它真的是OneToOne?还有,你使用的是哪个版本的Hibernate/JPA?我们需要关系是OneToOne,我们使用Hibernate的版本5.2.17.Final